串行通信(USART/UART)「建议收藏」

2022-08-30 20:44:47 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

  • USART支持同步模式,因此USART 需要同步始终信号USART_CK(如STM32单片机),通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使用异步模式。
  • UART 作为串口的一种,其工作原理也是将数据一位一位的进行传输,发送和接收各用一条线,因此通过 UART接口与外界相连最少只需要三条线:TXD(发送)、RXD(接收)和 GND(地线)
  • **空闲位:**数据线在空闲状态的时候为逻辑“1”状态,也就是高电平,表示没有数据线空闲,没有数据传输。
  • **起始位:**当要传输数据的时候先传输一个逻辑“0”,也就是将数据线拉低,表示开始数据传输。
  • **数据位:**数据位就是实际要传输的数据,数据位数可选择 5~8 位,我们一般都是按照字节传输数据的,一个字节 8 位,因此数据位通常是 8位的。低位在前,先传输,高位最后传输。
  • **奇偶校验位:**这是对数据中“1”的位数进行奇偶校验用的,可以不使用奇偶校验功能。
  • **停止位:**数据传输完成标志位,停止位的位数可以选择 1 位、1.5 位或 2 位高电平,一般都选择 1 位停止位。
  • **波特率:**波特率就是 UART 数据传输的速率,也就是每秒传输的数据位数,一般选择 9600、19200、115200 等。(bps)
  • 串口三种方式工作,轮询、中断和DMA; 接收中断:串口一来数据,立刻中断响应,进入中断服务函数接收; 查询发送:发送完一个字节,等待发送完,继续发送下个字节,直到整个字符串发送完,在这期间一直占用CPU; 中断发送:发送完一个字节CPU响应中断将下个字节放到外设寄存器,直到整个字符串发完,发完后再相应中断,补货…,这样的话发送中断就只有在中断时占用CPU资源;

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144690.html原文链接:https://javaforall.cn

0 人点赞