串口的知识铺垫
完全掌握串口需要先掌握一些串口的基础知识
串口的几个重要的参数:(详细可以看参考手册的串口章节)
- 波特率,串口通信的速率,单位是bit每秒,例如9600、 115200
- 串口字长可以通过USART_CR1寄存器中的M位,选择成8或9位(普遍选择8位)

- 起始位,标志一个数据帧的开始,固定为低电平。当数据开始发送时,产生一个下降沿(空闲–>起始位)。 空闲状态一般为高电平
- 数据位,发送数据帧,1为高电平,0为低电平。低位先行。 比如 发送数据帧0x0F 在数据帧里就是低位先行 即 0000 1111 -> 0000 0111 。数据会传输到数据寄存器中
- 校验位,用于数据验证,根据数据位的计算得来。有奇校验,偶校验和无校验。基本不用
- 停止位,用于数据帧的结尾,固定为高电平。数据帧发送完成后,产生一个上升沿。(数据传输–>停止位)。USART支持多种停止位的配置:0.5、1、1.5和2个停止位。
- 串口必须掌握的寄存器DR(RDR、TDR、发送移位寄存器、接收移位寄存器)、USART_BRR、SR状态寄存器和SR中的一些标志位(RXNE、TXE、TC)还有CR1中标志位(RXNEIE、TCIE、TXEIE)等。
- 详细介绍在参考手册串口
本文介绍了串口通信的基础知识,包括波特率、数据帧结构和USART的相关寄存器。重点讲解了USART的中断机制,以及串口发送函数如何利用TXE或TC标志位进行数据传输。同时,展示了串口接收中断函数的实现,如何处理RXNE标志位并存储接收到的数据。
订阅专栏 解锁全文
5242

被折叠的 条评论
为什么被折叠?



