STM32
直播中

李丹

7年用户 1429经验值
私信 关注
[问答]

同步异步收发器的基础知识点汇总,错过绝对后悔

同步异步收发器的基础知识点汇总,错过绝对后悔

回帖(1)

李叱镡

2021-12-10 11:18:20
@[STM32系统学习——USART(同步异步收发器)]
1)通信方式
1.1)并行通信
传输原理:数据各个位同时传输。优点:速度快。缺点:占用引脚资源多。
1.2)串行通信
传输原理:数据按位顺序传输。优点:占用引脚资源少。缺点:速度相对较慢。
2) 数据发送方式
2.1)单工
即数据只能单方向传输,不能反向传输。
2.2)半双工
数据可以双向传输,但是同一时刻只允许数据在某一个方向上传输。
2.3)全双工
数据可以同时双向传输,但是它要求通信双方都有独立的发送和接收设备。
3) 通信方式引脚连接
•RXD:数据输入引脚。数据接受。
•TXD:数据发送引脚。
•数据发送。
•如果要进行单片机与单片机之间通信的话,需要将一块单片机的RXD与另一块单片机的TXD相连,可能还要加要给 RS232转换器 来设置电平。
4) UART异步通信方式特点
•全双工异步通信。
•分数波特率发生器系统,提供精确的波特率。
•发送和接受共用的可编程波特率,最高可达4.5Mbits/s
•可编程的数据字长度(8位或者9位);
•可配置的停止位(支持1或者2位停止位);
•可配置的使用DMA多缓冲器通信。
•单独的发送器和接收器使能位。
•检测标志:① 接受缓冲器 ②发送缓冲器空 ③传输结束标志
•多个带标志的中断源。触发中断。
•其他:校验控制,四个错误检测标志。
5)参数定义
①起始位 ②数据位(8位或者9位) 9位是带奇偶校验位
③奇偶校验位(第9位)奇检验就是保证8位数据位中1的个数为基数个,如果1是基数个则检验位就为0,反之为1;偶检验就是保证8位数据位中1的个数为偶数个,如果1是偶数个则检验位就为0,反之为1;
④停止位(1,15,2位)⑤波特率设置
6)串口配置
6.1)串口时钟使能,GPIO时钟使能
6.2)串口复位
6.3)GPIO端口模式设置
6.4)串口参数初始化
6.5)开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)
6.6)使能串口
6.7)编写中断处理函数
7)串口初始化





8)发送接收函数










9)串口状态
RXNE(读数据寄存器非空),当该位被置 1 的时候,就是提示已经有数据被接收到了,并且可以读出来了。这时候我们要做的就是尽快去读取 USART_DR,通过读 USART_DR 可以将该位清零,也可以向该位写 0,直接清除。
TC(发送完成),当该位被置位的时候,表示 USART_DR 内的数据已经被发送完成了。如果设置了这个位的中断,则会产生中断。该位也有两种清零方式: 1)读 USART_SR,写USART_DR。 2)直接向该位写 0。







举报

更多回帖

发帖
×
20
完善资料,
赚取积分