【stm32】USART通讯

405 阅读1分钟

串口

通讯

stm32有许多功能还是没有,就需要外挂其它设备,就需要通讯

通讯协议

制定通讯制度,通讯双方都以此协议实现数据收发

引脚RX(接收)和TX (发送)
全双工 异步 点对点 单端

硬件电路

屏幕截图 2023-03-25 191840.png

注意:

TX与RX要交叉连接当只需单向的数据传输时。

当电平标准不一致时,需要加电平转换芯片(一般都是TTL电平)

几种常用的电平标准

TTL电平:+3.3V或+5V表示1,0V表示0
RS232电平:-3~-15V表示1,+3~+15V表示0
RS485电平:两线压差+2~+6V表示1,-2~-6V表示0(差分信号)

串口参数和时序

波特率:串口通信的速率 比特率:每秒传输的比特位
起始位:标志一个数据帧的开始,固定为低电平
数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行
校验位:用于数据验证,根据数据位计算得来,起审核的作用,如果奇校验保证数据的1有奇数个。当传到对方设备时,他就通过奇偶校验位来判断数据是否错误,错误了就舍去。
停止位:用于数据帧间隔,固定为高电平

iYFBRz.jpeg

USART

USART同步异步收发器

UART异步收发器

基本结构

屏幕截图 2023-03-27 202538.png

注:

当数据从TDR传输到以为寄存器时,会置一个标志位(TXE).

当数据从接收移位寄存器传输到RDR时,会置一个标志位(RXNE)

波特率发生器

波特率由波特寄存器里的 BRR里的DIV确定的

计算公式:波特率=主频频率/(16*DIV)