作者:手机用户2502885301 | 来源:互联网 | 2023-08-12 14:33
1.2.1.命令行交互模式通过putty(串口终端工具)连接开发板,如下图:例程2:要求每秒打印一次“helloworld”需求分析:1.每秒这个时间简短与时间有关,可以使用mi
1.2.1. 命令行交互模式
通过putty(串口终端工具)连接开发板,如下图:
例程2:要求每秒打印一次“hello world”
需求分析:
1. 每秒这个时间简短与时间有关,可以使用micropython内置的time模块中的sleep函数。Sleep函数是让单片机延时xx秒;
2. 每秒要干的活(打印“hello world”)是周期性事件。高级语言中周期性事件用while语句。while语句是个通用语句,c、c++、c#、python、lua、java等均有while语句,区别仅仅是语法格式不同。在micropython中,while语句的格式:
While 条件:
Code1
Code2
Code?
结束
只要条件为大于0的值,循环体的code1~code?就会执行,循环体是从“:”开始到与while定格的行结束。
根据需求分析,代码实现方式如下:
1. 键入import time回车
2. 按下图键入代码,运行效果如下图:
例程3:要求按每秒打印一次“hello world”的频率,只打印10次“hello world”
需求分析:时间间隔及每秒执行的任务与例程2一样,只是要打印的次数有一直打印变更为10次。
代码实现:
Import time
I = 0
While (i <10):
Print(“hello world”)
Sleep(1)
I = i+1
1.2.1.1. Time模块
Import time是导入time功能模块,time模块提供与时间相关的函数,使用help(time)模块,运行结果如下:
扩展:想了解其他模块也可以使用help命令,格式help(?)
查看所有可用模块help(‘modules’)
1.2.1.2. While True
Micropython框架下,单片机执行完程序后进入命令行等待状态“就绪状态1”,并等待进一步交互。
但在大部分程序中,需要循环等待某件事情的发生,并执行响应的操作,比如hello world例程中,等1s时间到达后打印“hello world”,这就是while True的作用(永远为真并一致运行下去,直到遇到外接终端——键盘终端,这也是为什么会出现“就绪状态2”的原因)。
1.2.1.3. Print函数
Print函数是打印信息最常用的底层函数,没有之一,最常用的用法如下:
1. 输出字符串和数字
>>>print("runoob") # 输出字符串
runoob
>>> print(100) # 输出数字
100
>>> str = 'runoob'
>>> print(str) # 输出变量
runoob
>>> L = [1,2,'a'] # 列表
>>> print(L) [1, 2, 'a']
>>> t = (1,2,'a') # 元组
>>> print(t) (1, 2, 'a')
>>> d = {'a':1, 'b':2} # 字典
>>> print(d) {'a': 1, 'b': 2}
2. 格式化输出整数
>>>str = "the length of (%s) is %d" %('runoob',len('runoob'))
>>> print(str)
the length of (runoob) is 6
自学
1.2.2. 重启
上节代码,开发板重启后代码消失,显然不满足开发要求。
项目的运行代码,应该存储在板载flash(mcu自身flash、板载eeprom、sa等),并在开启时启动。
在Micropython框架下,上电启动后单片机自动加载根目录下的boot.py再加载main.py文件,并试图运行。
通过如下命令,可查看micropython的目录:
在该目录下建立一个main.py文件,并保证其能被正常执行(不能出错)。
1.2.3. 通过命令行编写main.py
在命令行用micropython内置命令可以新建、编辑文件,示例:
1.2.4. 集成IDE之Thonny
1.2.4.1. Thonny介绍
Micropython比较好用的IDE有Thonny和uPyCraft等,使用起来差别不大。
以Thonny为例,如下图:
运行thonny前,首先通过“硬件管理器”确认thonny设置的串口,串口有效的状态下运行Thonny会自动进入就绪界面,如下图:
“就绪状态1”时,可以通过命令行操作单片机。
“就绪状态2”时,单片机处于运行单片机当前程序中,不接受命令行交互信息,这时只有按下“Ctrl+c”即可中断当前程序并进入“就绪状态1”。
1.2.4.2. Hello world
Thonny写micropython程序,一般有两步:
1. 在命令行中测试代码->临时状态;
2. 将代码写到boot.py或main.py->存储状态;
1.2.4.2.1. 临时状态
按1Hz频率打印“hello world”
1.2.4.2.2. 存储状态
1. 新建文件,将命令行代码输入到文件中;
2. 保存文件到micropython设备,文件名”main.py”;
3. 重启单片机,观察运行结果;
1.2.5. 总结:
使用thonny开发micropython的步骤:
1. 单片机板上电(用micro数据线连接pc和单片机板),确认串口号(可省略);
2. 运行thonny,设置串口号(可省略);
3. 命令行写运行代码,观察实验结果;
4. 命令行代码存储到单片机flash中,存储为*.py文件;
5. 重启单片机板,观察结果;