官网给出的硬串口示例代码似乎有问题,故做了下修改,实现了电脑的USB与行空板硬串口通信,与其他板通信同理 
   
 
修改后行空板代码如下: 
 
1.uart1 = UART() 需要设置bus_num=0,默认是1,会导致实例化失败 
2.uart1.init() 需要设置bits=8,默认居然是0,真奇怪 
 
			
			
			- [color=#000][font=Consolas, "][size=14px][color=#008000]# -*- coding: utf-8 -*-[/color]
 - [color=#0000ff]import[/color] time
 - [color=#0000ff]from[/color] pinpong.board [color=#0000ff]import[/color] Board, UART
 - 
 - Board().begin()  [color=#008000]#初始化,选择板型,不输入板型则进行自动识别[/color]
 - [color=#008000]#硬串口1 P0-RX P3-TX[/color]
 - uart1 = UART(bus_num=[color=#098658]0[/color])   
 - uart1.init(baud_rate = [color=#098658]9600[/color], bits=[color=#098658]8[/color])  [color=#008000]# bits缺省值居然是0,莫名其妙[/color]
 - 
 - [color=#0000ff]while[/color] [color=#0000ff]True[/color]:
 -     [color=#008000]# 如果串口有数据[/color]
 -     [color=#0000ff]if[/color] uart1.[color=#0000ff]any[/color]() > [color=#098658]0[/color]:
 -         [color=#008000]#读一行,以换行符结尾。读取行或 None 超时。(到换行键(0xa)结束,无则返回None)[/color]
 -         data = uart1.readline()  
 -         [color=#008000]# 参考数据 [97, 98, 99, 13, 10][/color]
 -         [color=#0000ff]if[/color] data:
 -             [color=#0000ff]print[/color](data)   
 -             [color=#008000]# 去除尾部换行符[/color]
 -             data = data[:[color=#098658]-2[/color]] 
 -             [color=#008000]# 将unicode码转为对应的字符,然后合并成字符串[/color]
 -             s = [color=#a31515]''[/color].join([color=#0000ff]chr[/color](code) [color=#0000ff]for[/color] code [color=#0000ff]in[/color] data)  
 -             [color=#0000ff]print[/color](s)
 - 
 -     time.sleep([color=#098658]0.1[/color])
 - [/size][/font][/color]
 
  复制代码
  
 
电脑端使用Microsoft Store里的串口调试工具进行测试,如果行空板使用readline,务必务必务必记得串口调试工具输入框最后要按一下回车键,保证其发送换行,不然readline不会返回 
  
 
线路连接(若没有扩展板,也可将线焊接到金手指上) 
  
 
运行行空板程序,输出如下 
 
   
 
 |