MicroPython内核开发笔记书内软件用例 :UART相关实验
Posted 卓晴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MicroPython内核开发笔记书内软件用例 :UART相关实验相关的知识,希望对你有一定的参考价值。
简 介: 本文给出了 MicroPython内核开发笔记:书内嵌入实验任务 中的 UART 部分软件用例部分内容。
关键词
: MicroPython,MM32F3277
- 本书稿内容隶属于 MicroPython内核开发笔记:书内嵌入实验任务 中的内容。
§01 书稿内容
在MM32F3277中存在 八个串口,对应的串口端口为:
UART端口(RX,TX):
UART1:PA10, PA9
UART2:PA3,PA2
UART3:PB11,PB10
UART4:PC11,PC10
UART5:PD2,PC12
UART6:PC7,.PC6
UART7:PE7,PE8
UART8:PD1,PD0
由于第一个串口(UART0)被用于交互界面(REPL),所示留给开发者使用的串口是从 UART2之后的串口。
一、基础实验
1、测试UART2发送信号
下面代码初始化 UART2,波特率为115200,每隔10ms发送 0x55(对应的字符 ‘U’)数据。串口发送数据是通过 write() 函数调用来实现的,每一次发送一个字节。
from machine import Pin,UART
import utime
uart2 = UART(1, 115200)
print('Test UART.')
while True:
_ = uart2.write(b'U')
utime.sleep_ms(10)
利用示波器测试 PA2(TX2)的输出波形:
▲ 图1.1.1 PA2(TX2)测量到输出波形
2、测试UART3接收数据
使用短路子将 RXD3与RXD1连接在一起,也就是将REPL的接收端口RXD1连接在UART3的接收端口。
下面程序显示了如何判断串口内接收到了字符,并读取该字符存储在内存缓冲区内。当接收到回车字符(0xd)之后,便将接收到的字符串转换成整数并显示。
from machine import Pin,UART
import utime
uart2 = UART(2, 115200)
print('Test UART.')
buf = bytes(0)
while True:
if uart2.any():
buf = buf + uart2.read(uart2.any())
if buf[-1] == 13:
print(int(buf))
buf = bytes(0)
utime.sleep_ms(10)
处贴上运行结果如下。 在 Thonny交互界面上输入数字并回车,程序变输出对应的数字。如果输入的字符中包含有非数字字符,最后程序出错返回。
>> Reset MicroPython...
>> Wait for MicroPython coming back...
>> Download MicroPython : 33 lines/707 characters.
>> -------------------------------------------------------------------------
Test UART.
333
3333
123
Traceback (most recent call last):
File "<stdin>", line 22, in <module>
ValueError: invalid syntax for integer
>>>
※ 总 结 ※
本文给出了 MicroPython内核开发笔记:书内嵌入实验任务 中的 UART 部分软件用例部分内容。
■ 相关文献链接:
● 相关图表链接:
以上是关于MicroPython内核开发笔记书内软件用例 :UART相关实验的主要内容,如果未能解决你的问题,请参考以下文章
MicroPython内核开发笔记书内软件用例 :MEM相关实验用例
MicroPython内核开发笔记书内软件用例 :浮点数相关实验
MicroPython内核开发笔记书内软件用例 :DAC相关实验
MicroPython内核开发笔记书内软件用例 :Timer相关实验