本帖最后由 颜科鸣 于 2024-6-5 16:59 编辑
官网给的硬串口通信代码有点问题,这里改了一些地方,实现电脑与行空板硬串口通信,与其他板通信同理
行空板代码如下:1.UART()里,bus_num=0,默认是1,实测会报错
2.uart1.init()里,需要设置bits=8,默认值居然是0,莫名其妙
- # -*- coding: utf-8 -*-
- import time
- from pinpong.board import Board, UART
-
- Board().begin() #初始化,选择板型,不输入板型则进行自动识别
- #硬串口1 P0-RX P3-TX
- uart1 = UART(bus_num=0)
- uart1.init(baud_rate = 9600, bits=8)
-
- while True:
- # 如果串口有数据
- if uart1.any() > 0:
- #读一行,以换行符结尾。读取行或 None 超时。(到换行键(0xa)结束,无则返回None)
- data = uart1.readline()
- # 参考数据 [97, 98, 99, 13, 10]
- if data:
- print(data)
- # 去除尾部换行符
- data = data[:-2]
- # 将unicode码转为对应的字符,然后合并成字符串
- s = ''.join(chr(code) for code in data)
- print(s)
-
- time.sleep(0.1)
复制代码
电脑端如下,使用Microsoft store里的串口调试助手,若行空板使用readline,要确保发送端发送了换行符,不然readline会一直阻塞,这里我在输入框最后按一下回车,确保其发送换行符:
![行空板串口使用图1](https://mc.dfrobot.com.cn/data/attachment/forum/202406/05/165045lwvew1ofcm3yfg6g.png)
接线图片,没有扩展板,直接将线焊在金手指上也行:
![行空板串口使用图2](https://mc.dfrobot.com.cn/data/attachment/forum/202406/05/165123uesjeberlio965rs.jpg)
测试结果:
![行空板串口使用图3](https://mc.dfrobot.com.cn/data/attachment/forum/202406/05/165140s3wsr66dwil66yi6.png) ![行空板串口使用图4](https://mc.dfrobot.com.cn/data/attachment/forum/202406/05/165149od88jaw9pm99mwq9.png)
|