这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
icore3_micropython_5 [2020/06/15 16:33] zgf |
icore3_micropython_5 [2022/03/18 15:15] sean |
||
---|---|---|---|
行 2: | 行 2: | ||
|技术支持电话|**0379-69926675-801**||| | |技术支持电话|**0379-69926675-801**||| | ||
|技术支持邮件|Gingko@vip.163.com||| | |技术支持邮件|Gingko@vip.163.com||| | ||
- | |技术论坛|http://www.eeschool.org||| | ||
^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
| V1.0 | 2020-06-15 | gingko | 初次建立 | | | V1.0 | 2020-06-15 | gingko | 初次建立 | | ||
行 18: | 行 17: | ||
开发板上自带一片CH340芯片,本实验需要电脑安装CH340驱动,CH340的TXD连接开发板的GPIO(PA1),CH340的RXD连接开发板的GPIO(PA0),通过串口发送命令控制LED的亮灭。原理示意图如下所示: | 开发板上自带一片CH340芯片,本实验需要电脑安装CH340驱动,CH340的TXD连接开发板的GPIO(PA1),CH340的RXD连接开发板的GPIO(PA0),通过串口发送命令控制LED的亮灭。原理示意图如下所示: | ||
- | {{ :micropython_5_1.png?nolink&600 |}} | + | {{ :icore3:icore3_micropython_5_1.png?direct&600 |}} |
==== 四、实验步骤 ==== | ==== 四、实验步骤 ==== | ||
行 36: | 行 35: | ||
发送“LEDR_ON”命令,会接受到相同的字符,并且开发板上红灯亮;发送“LEDR_OFF”命令,会接受到相同的字符,并且开发板上红灯灭; | 发送“LEDR_ON”命令,会接受到相同的字符,并且开发板上红灯亮;发送“LEDR_OFF”命令,会接受到相同的字符,并且开发板上红灯灭; | ||
- | {{ :micropython_5_2.png?nolink&600 |}} | + | {{ :icore3:icore3_micropython_5_2.png?direct |串口通信界面}} |
+ | ==== 六、实验程序 ==== | ||
+ | |||
+ | <code python> | ||
+ | # -*- coding: utf-8-*- | ||
+ | # main.py -- put your code here! | ||
+ | from pyb import UART #导入串口库 | ||
+ | |||
+ | #定义串口4对象,波特率9600 | ||
+ | U4 = UART(4,9600) | ||
+ | |||
+ | while True: | ||
+ | re = U4.readline() #缓冲区读取一行内容 | ||
+ | if re != None: #若内容不为空 | ||
+ | pyb.delay(10) #延时10ms,等内容接受完整 | ||
+ | re = re + U4.readline() #将内容合并 | ||
+ | U4.write(re) #将接收到的内容再发回给串口 | ||
+ | if re == b'LEDR_ON': #控制命令匹配 | ||
+ | pyb.LED(1).on() | ||
+ | elif re == b'LEDR_OFF': | ||
+ | pyb.LED(1).off() | ||
+ | elif re == b'LEDG_ON': | ||
+ | pyb.LED(2).on() | ||
+ | elif re == b'LEDG_OFF': | ||
+ | pyb.LED(2).off() | ||
+ | elif re == b'LEDB_ON': | ||
+ | pyb.LED(3).on() | ||
+ | elif re == b'LEDB_OFF': | ||
+ | pyb.LED(3).off() | ||
+ | </code> |