【SAMR21新玩法】27. UART

Adafruit CircuitPython相关
回复
头像
shaoziyang
帖子: 717
注册时间: 2019年 10月 21日 13:48

【SAMR21新玩法】27. UART

#1

帖子 shaoziyang » 2019年 10月 25日 09:25

在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,就代表串口接收缓冲区中有数据了。

因为UART、SPI、I2C都使用SERCOm(Serial Communication Interface)功能,而SERCOM的数量是有限的,所以需要注意总数量不能超过SERCOM的上限。

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章