本帖最后由 ecoren 于 2022-3-24 19:41 编辑
#申请原创# @21小跑堂
UART (Universal Asynchronous Receiver Transmitter) 一个熟悉而又陌生的名字,熟悉的是它在嵌入式系统中无处不在,陌生的是它内部是如何运行。今天小编就从协议方面揭开UART的神秘面纱。
首先从原理上让我们来看看UART小心思~~对的就是通讯帧格式。 1 start bit + data bits (5, 6, 7, 8) + 1 paritybit (optional) + STOP bit(1, 1.5, 2)
看原理总是让人头大,尤其是对初学者,那么推丸菌上几张测试图,就着这些波形就更容易理解了。
用串口助手发送“ab”两个字符,发送格式为115200, 8, 1, N (115200bps,8位位宽,1个停止位,无校验位)。波形是抓出来了,那么我们怎么知道每位的宽度?很简单,因为每秒传115200位,那么每位宽度=1/115200=8.68us。按8.68us来数波形,很容易就分出了开始位、数据位、停止位。
接下来依旧用串口助手发送“ab”两个字符,但发送格式变为115200, 8, 1, Odd (115200bps,8位位宽,1个停止位,奇校验)。波形是抓出来了,那么我们怎么知道每位的宽度?很简单,因为每秒传115200位,那么每位宽度=1/115200=8.68us。按8.68us来数波形,很容易就分出了开始位、数据位、校验位、停止位。
|