在circuitpython中,串口的用法和micropython有较大区别。先看circuitpython中的用法:
from microcontroller import pin
from busio import UART
u = UART(pin.PA18, pin.PA19)
u.baudrate = 115200
u.write(b'123')
u.read()
UART功能还是通过busio库提供,可以指定串口的引脚,大部分GPIO都可以作为TX和RX,但是需要按照一定方式设置,TX和RX要使用相邻的引脚,并且TX是SERCOMx.2n,RX是SERCOMx.2n+1。
波特率是一个数值,可以读取或者写入,写入就是设置新的波特率。串口的写入和读取,参数都是bytes类型。因为SAMD21/SAMR21有多个SERCOM模块,所以可以定义多个串口。
串口接收数据的判断是通过in_waiting参数判断(它和mpy中的any()函数类似),如果它大于0,就代表串口接收缓冲区中有数据了。
此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处