python入门教材 52pj_Micropython入门实操心得
1. 用串口线连接pyboard和电脑,发现开发板被识别为移动磁盘。
2 .移动磁盘中默认会有4个文件,它们分别是:
boot.py:开机最先运行的文件,最后会由它加载main.py。
main.py:开机会被boot.py文件引导,可以将自己的代码放在里面。
pybcdc.inf:windows下的虚拟串口驱动文件。
readme.txt:简要说明。
实操经验:boot.py文件里面可以声明包含自己要用到的模块,里面可以定制自己开机程序(也就是在运行main.py文件前的程序),但是该文件里面的程序越小越好,官方注释就是怎么说的。
时间推移,我们会把自己写的程序模块化,然后放在这个磁盘里供给使用。在模块化程序里面必须要声明也就是包含自己要用到的模块或者模块里面的函数或者类。
一般稳操作是:直接把这个模块包含进来,就不容易出问题,但是文件就大了。
熟悉一点的时候,可以尝试只包含自己需要的函数和类。(这个部分容易出现问题)
注:在应用程序上如果有循环语句存在时,交互式终端会打不开。
下面是我定义的一个基本操作函数模块,比如点灯,按键操作,后面会陆陆续续添加更多(此处的是我们常规的操作方式,也就是面象过程编程)。
boot.py
#boot.py -- run on boot-up#can run arbitrary Python, but best to keep it minimal
importmachineimportpybimportpybase#pyb.main('main.py') # main script to run after this one#pyb.usb_mode('VCP+MSC') # act as a serial and a storage device#pyb.usb_mode('VCP+HID') # act as a serial device and a mouse
#pyb.main('main.py') # main script to run after this one
这个注释掉的语句的作用是程序的主程序运行位置,里面的'main.py你可以改成其它文件,在boot里面的程序初始化和声明或者运行完成后,再去执行刚刚声明主程序要执行的文件位置(实际操作和推断出来的,读者可以自己测试或者参考其它资料),默认情况下主程序会运行main.py文件。
#pyb.usb_mode('VCP+MSC') # act as a serial and a storage device
#pyb.usb_模式(“vcp+msc”)用作串行和存储设备
#pyb.usb_mode('VCP+HID') # act as a serial device and a mouse
#pyb.usb_模式(“vcp+hid”)用作串行设备和鼠标
pybase.py
from pyb import LED,Switch #导入pyb模块中的类
from pyb import delay #导入pyb模块中的函数
def led(n,status='off',intensity=None,toggle=None):'''n:第n个led灯,n的范围为[1,4].
status:led灯的两种状态,打开灯与关闭灯(分别对应着:'on','off')
intensity:led灯的亮度值调节参数,调节范围为0~255.
toggle:led灯的引脚电平反转.'''
#建立LED灯的实例
led =LED(n)if toggle ==None:if status == 'on' or intensity !=None:if intensity !=None:
led.intensity(intensity)else:
led.on()else:
led.off()else:
led.toggle()#led灯初始化
defled_init():'''将初始化led灯的引脚,全部设置为关闭状态,亮度值默认255'''
for i in range(1,5):
led(i,intensity=255)
led(i)#按键函数
defkeys(n):'''稳定的按键程序'''key= Switch() #开关类实例化
ifkey.value():
delay(10) #消抖
ifkey.value():
led(n,toggle='toggle')while key.value(): #松手检测
pass
main.py
whileTrue:
pybase.keys(4)
按照官方推荐boot文件里面的内容越迷你越好,来尝试缩小一下:(相对于上面的几个文件的程序,只需改两个文件就好了)
第一个要改的文件boot.py
#boot.py -- run on boot-up#can run arbitrary Python, but best to keep it minimal
importmachineimportpybfrom pybase importkeys#pyb.main('main.py') # main script to run after this one#pyb.usb_mode('VCP+MSC') # act as a serial and a storage device#pyb.usb_mode('VCP+HID') # act as a serial device and a mouse
第二个更改的文件main.py
whileTrue:
keys(4)
如果你要复制上面的程序测试一下,可以用编译器把可能因输入的程序里面包含空格和Tab混合使用的方式统一一下(统一成空格或者tab,编译器里面有这个功能),不然会报这个方面的错。
python入门教材 52pj_Micropython入门实操心得相关推荐
- Python自学笔记6:实操案例三(十进制转换二、八、十六进制),手机充值,计算能量消耗,预测未来子女身高
Python自学笔记6:实操案例三(十进制转换二.八.十六进制),手机充值,计算能量消耗,预测未来子女身高 杨淑娟老师网课传送门(非广告):https://www.bilibili.com/video ...
- Python自学笔记10:实操案例七(根据星座测试性格特点、模拟12306火车订票下单)
Python自学笔记10:实操案例七(根据星座测试性格特点.模拟12306火车订票下单) 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=157 ...
- Python学习笔记7:实操案例四(支付密码的验证,模拟QQ账号登录,商品价格竞猜,星座看运势)
Python学习笔记7:实操案例四(支付密码的验证,模拟QQ账号登录,商品价格竞猜,星座看运势) 1.支付密码的验证: 这个主要就是调用isdigit()函数判断字符串是不是全是数字组成. pwd=i ...
- Python自学笔记9:实操案例六(千年虫,购物流程)
Python自学笔记9:实操案例六(千年虫,购物流程) 网课传送门:第155,156讲,https://www.bilibili.com/video/BV1Sw411Z779?p=155 1.千年虫 ...
- Python学习笔记17:实操案例十四(模拟高铁售票系统,推算几天后的日期)
Python学习笔记17:实操案例十四(模拟高铁售票系统,推算几天后的日期) 1.模拟高铁售票系统 使用漂亮的表格模块PrettyTable 这个模块需要预先安装,不然直接导入会报错: 安装办法: h ...
- Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复)
Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复) 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=168& ...
- Python自学笔记5:实操案例二(输出出版图书信息、《红楼梦》五位人名、图书音像勋章、身体指标)
Python自学笔记4:实操案例二(输出出版图书信息.<红楼梦>五位人名.图书音像勋章.身体指标) 1.输出出版图书信息 这个没啥难度,就是定义变量然后输出,注意调整格式就行 book_n ...
- Python学习笔记16:实操案例十三(编写程序实现乐手弹奏乐器,设计自定义类表达出租车和家用轿车信息)
Python学习笔记16:实操案例十三(编写程序实现乐手弹奏乐器,设计自定义类表达出租车和家用轿车信息) 1.编写程序实现乐手弹奏乐器 注意Python的多态是"鸭子类型",只要有 ...
- micropython入门教程-Micropython入门实操心得
1. 用串口线连接pyboard和电脑,发现开发板被识别为移动磁盘. 2 .移动磁盘中默认会有4个文件,它们分别是: boot.py:开机最先运行的文件,最后会由它加载main.py. main.py ...
最新文章
- java关键字和保留字整合(不定期补充) 转自小码哥
- php mail函数 附件,[php]mail函数发送邮件(正文+附件+中文)
- matplotlib 多子图的画法 - 设置坐标范围 - 设置坐标的显示间隔 - 设置figure的大标题 - 设置x轴和y轴的名称 - df.groupby
- Odoo(OpenERP)配置文件openerp-server.conf详解
- 使用EasyMock或Mockito
- iOS buttonWithType:101 苹果私有api
- 算法复习——数位dp(不要62HUD2089)
- 专业的数据库连接工具:DBeaverEE for Mac中文版
- adobe 不适应 Max to分屏软件的修改
- ppi 各代iphone_各代iPhone逻辑分辨率与物理分辨率
- 复制pdf文字到word
- 南部翔宇实验小学第六届校园文化艺术节闭幕式暨“六一”庆祝活动
- vue 会将连续空格自动合并成一个空格(避免空格合并)
- HTTP协议状态码的含义
- C语言:n个数的阶乘之和
- 美国大学计算机牛校简介
- 数据结构与算法(Python版)十五:无序表抽象数据类型及Python实现
- 中国学术会议(2009)---002
- oracle 远程访问配置,C#教程之Oracle 远程访问配置
- angular2入门-第一个angular2 App