热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

1.2HelloWorld

 1.2.1.命令行交互模式通过putty(串口终端工具)连接开发板,如下图:例程2:要求每秒打印一次“helloworld”需求分析:1.每秒这个时间简短与时间有关,可以使用mi

 

1.2.1. 命令行交互模式

通过putty(串口终端工具)连接开发板,如下图:

wps24

wps25

例程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. 按下图键入代码,运行效果如下图:

wps26

例程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)模块,运行结果如下:

wps27

扩展:想了解其他模块也可以使用help命令,格式help(?)

查看所有可用模块help(‘modules’)

wps28

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

wps29

自学

1.2.2. 重启

上节代码,开发板重启后代码消失,显然不满足开发要求。

项目的运行代码,应该存储在板载flash(mcu自身flash、板载eeprom、sa等),并在开启时启动。

在Micropython框架下,上电启动后单片机自动加载根目录下的boot.py再加载main.py文件,并试图运行。

通过如下命令,可查看micropython的目录:

wps30

在该目录下建立一个main.py文件,并保证其能被正常执行(不能出错)。

1.2.3. 通过命令行编写main.py

在命令行用micropython内置命令可以新建、编辑文件,示例:

wps31

1.2.4. 集成IDE之Thonny
1.2.4.1. Thonny介绍

Micropython比较好用的IDE有Thonny和uPyCraft等,使用起来差别不大。

以Thonny为例,如下图:

wps36

运行thonny前,首先通过“硬件管理器”确认thonny设置的串口,串口有效的状态下运行Thonny会自动进入就绪界面,如下图:

“就绪状态1”时,可以通过命令行操作单片机。

“就绪状态2”时,单片机处于运行单片机当前程序中,不接受命令行交互信息,这时只有按下“Ctrl+c”即可中断当前程序并进入“就绪状态1”。

wps37

wps38

wps41 wps42

1.2.4.2. Hello world

Thonny写micropython程序,一般有两步:

1. 在命令行中测试代码->临时状态;

2. 将代码写到boot.py或main.py->存储状态;

1.2.4.2.1. 临时状态

wps43按1Hz频率打印“hello world”

1.2.4.2.2. 存储状态

wps44

wps45wps46

1. 新建文件,将命令行代码输入到文件中;

2. 保存文件到micropython设备,文件名”main.py”;

3. 重启单片机,观察运行结果;

1.2.5. 总结:

使用thonny开发micropython的步骤:

1. 单片机板上电(用micro数据线连接pc和单片机板),确认串口号(可省略);

2. 运行thonny,设置串口号(可省略);

3. 命令行写运行代码,观察实验结果;

4. 命令行代码存储到单片机flash中,存储为*.py文件;

5. 重启单片机板,观察结果;



推荐阅读
author-avatar
手机用户2502885301
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有