• 1.2 Hello World


     

    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. 重启单片机板,观察结果;

    ----*----*----*----*----*----*----*----*----*----*----*----
    史久超 email:shijiuchao1983@163.com tel:15999550975 qq:157185173
  • 相关阅读:
    【Selenium-WebDriver实战篇】java测试使用HttpClient debug日志关闭
    【Selenium-WebDriver实战篇】selenium之使用Tess4J进行验证码图片识别内容
    【Selenium-WebDriver实战篇】基于java的selenium之验证码识别内容
    【自动化测试网址】相关学习网址和定期更新(更新中...)
    【Selenium-WebDriver实战篇】ScreenRecorder的实际输出路径,自己的解决方案
    【Selenium-WebDriver实战篇】ScreenRecorder的实际输出路径设置(转)
    【Selenium-WebDriver实战篇】Eclipse上的maven使用JsonObject时,添加依赖后无法自动下载相应的jar包
    【AirTest自学】AirTest工具介绍和入门学习(一)
    【测试面试】人脸识别的测试重点
    selenium中隐式等待和显示等待的区别
  • 原文地址:https://www.cnblogs.com/horal/p/15515203.html
Copyright © 2020-2023  润新知