首页 > 编程知识 正文

stm32异步通信,stm32的串口既可以工作在异步模式下

时间:2023-05-04 15:24:07 阅读:262329 作者:4482

通用同步异步收发器—–USART
通讯方式:
1、串行通讯
2、异步/同步
3、全双工

物理层
RS232标准

两个通讯设备的“DB9 接口”之间通过串口信号线建立起连接,串口信号线中使用“RS-232标准”传输数据信号。由于 RS-232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过一个“电平转换芯片”转换成控制器能识别的“TTL 标准”的电平信号,才能实现通讯。

协议层

串口通讯的数据包由发送设备通过自身的 TXD 接口传输到接收设备的 RXD 接口。在串口通讯的协议层中,规定了数据包的内容,它由启始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。

STM32的USART构架

1、引脚功能
TX:发送数据输出引脚
RX:接收数据输入引脚
SW_RX:芯片内部引脚

2、数据寄存器
发送接收数据,主要是对数据寄存器进行操作
(数据寄存器)TDR和 RDR都是介于系统总线和移位寄存器之间。串行通信是一个位一个位传输的,发送时把 TDR 内容转移到发送移位寄存器,然后把移位寄存器数据每一位发送出去,接收时把接收到的每一位顺序保存在接收移位寄存器内然后才转移到 RDR。

3、控制器
发送器:
当发送使能位 TE 置 1 之后,发送器开始会先发送一个眯眯眼的手链(一个数据帧长度的高电平),接下来就可以往 USART_DR 寄存器写入要发送的数据。在写入最后一个数据后,需要等待 USART 状态寄存器 (USART_SR)的 TC 位为 1,表示数据传输完成,如果USART_CR1 寄存器的 TCIE 位置 1,将产生中断。
在发送数据时,编程的时候有几个比较重要的标志位我们来总结下。
名称 描述
TE 发送使能
TXE 发送寄存器为空,发送单个字节的时候使用
TC 发送完成,发送多个字节数据的时候使用
TXIE 发送完成中断使能
接收器
如果将 USART_CR1 寄存器的 RE 位置 1,使能 USART 接收,使得接收器在 RX 线开始搜索起始位。在确定到起始位后就根据 RX 线电平状态把数据存放在接收移位寄存器内。接收完成后就把接收移位寄存器数据移到 RDR 内,并把 USART_SR 寄存器的 RXNE 位置
1,同时如果 USART_CR1寄存器的 RXNEIE 置 1 的话可以产生中断。
在接收数据时,编程的时候有几个比较重要的标志位我们来总结下。
名称 描述
RE 接收使能
RXNE 读数据寄存器非空
RXNEIE 接收缓冲区非空中断使能

4、小数波特率生成

5、校验控制

6、中断控制

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。