STM32
登录
直播中
贾飞世
7年用户
1821经验值
私信
关注
[问答]
通用同步异步收发器常用的串口相关寄存器有哪些
开启该帖子的消息推送
异步收发器
寄存器
收发器
通用同步异步收发器的原理是什么?
通用同步异步收发器常用的串口相关寄存器有哪些?
回帖
(1)
李可仪
2021-12-10 11:20:22
串行通信:数据按位传输,速度慢,占用资源少
串行通信的通信方式:同步通信:带时钟同步信号传输; SPI,IIC通信
异步通信:不带时钟同步信号; UART
通用同步异步收发器的原理框图
常用的串口相关寄存器:
USART_SR状态寄存器
USART_DR数据寄存器
USART_BRR波特率寄存器
常用的串口操作相关库函数:
USART_Init(); //串口初始化,波特率,数据字长,奇偶校验,收发使能
USART_Cmd(); //使能串口
USART_ITConfig(); //使能相关中断
USART_SendData(); //发送数据到串口,DR
USART_ReceiveData(); //接受数据,从DR读取接收到的数据
FlagStatus USART_GetFlagStatus(); //获取状态标志位
USART_ClearFlag(); //清除状态标志位
ITStatus USART_GetITStatus(); //获取中断状态标志位
USART_ClearITPendingBit(); //清除中断状态标志位
STM32串口通信过程:
STM32串口异步通信定义的参数传送格式:
① 起始位 ② 数据位(8位) ③ 奇偶校验位(第9位)
④ 停止位(1,1.5,2位) ⑤ 波特率设置
串口配置的一般步骤:
①串口时钟使能 :RCC_APBxPeriphClockCmd();
GPIO时钟使能:RCC_AHB1PeriphClockCmd();
②引脚复用映射
GPIO_PinAFConfig();
③GPIO端口模式设置:GPIO_Init(); //模式设置为GPIO_Mode_AF
④串口参数初始化: USART_Init();
⑤开启中断并且初始化 (如果需要开启中断才需要这个步骤)
NVIC_Init();
USART_ITConfig();
⑥使能串口:USART_Cmd();
⑦编写中断处理函数:USARTx_IRQHandler();
⑧串口数据收发:
USART_SendData(); // 发送数据到串口,DR
USART_ReceiveData(); // 接受数据,从DR读取接收数据
⑨串口传输状态获取:
FlagStatus USART_GetFlagStatus();
USART_ClearITPendingBit();
⑩中断入口函数
void USARTx_IRQHandler();
串行通信:数据按位传输,速度慢,占用资源少
串行通信的通信方式:同步通信:带时钟同步信号传输; SPI,IIC通信
异步通信:不带时钟同步信号; UART
通用同步异步收发器的原理框图
常用的串口相关寄存器:
USART_SR状态寄存器
USART_DR数据寄存器
USART_BRR波特率寄存器
常用的串口操作相关库函数:
USART_Init(); //串口初始化,波特率,数据字长,奇偶校验,收发使能
USART_Cmd(); //使能串口
USART_ITConfig(); //使能相关中断
USART_SendData(); //发送数据到串口,DR
USART_ReceiveData(); //接受数据,从DR读取接收到的数据
FlagStatus USART_GetFlagStatus(); //获取状态标志位
USART_ClearFlag(); //清除状态标志位
ITStatus USART_GetITStatus(); //获取中断状态标志位
USART_ClearITPendingBit(); //清除中断状态标志位
STM32串口通信过程:
STM32串口异步通信定义的参数传送格式:
① 起始位 ② 数据位(8位) ③ 奇偶校验位(第9位)
④ 停止位(1,1.5,2位) ⑤ 波特率设置
串口配置的一般步骤:
①串口时钟使能 :RCC_APBxPeriphClockCmd();
GPIO时钟使能:RCC_AHB1PeriphClockCmd();
②引脚复用映射
GPIO_PinAFConfig();
③GPIO端口模式设置:GPIO_Init(); //模式设置为GPIO_Mode_AF
④串口参数初始化: USART_Init();
⑤开启中断并且初始化 (如果需要开启中断才需要这个步骤)
NVIC_Init();
USART_ITConfig();
⑥使能串口:USART_Cmd();
⑦编写中断处理函数:USARTx_IRQHandler();
⑧串口数据收发:
USART_SendData(); // 发送数据到串口,DR
USART_ReceiveData(); // 接受数据,从DR读取接收数据
⑨串口传输状态获取:
FlagStatus USART_GetFlagStatus();
USART_ClearITPendingBit();
⑩中断入口函数
void USARTx_IRQHandler();
举报
更多回帖
rotate(-90deg);
回复
相关问答
异步收发器
寄存器
收发器
通用
异步
收发器
与
通用
同步
异步
串行接收/发送
器
有
哪些差异呢
2021-12-10
1543
常用
的
串口
相关
寄存器
有
哪些?
2022-02-18
1132
通用
同步
异步
收发器
USART怎样使用DMA进行连续通信呢
2021-12-10
1548
如何从USART_BRR
寄存器
得到USARTDIV呢
2021-12-10
2390
通用
异步
收发器
有
什么功能?
2019-11-04
1948
通用
同步
异步
收发器
USRAT的知识点汇总,错过绝对后悔
2021-12-09
1505
常用
的
串口
相关
寄存器
有
哪些?
2021-12-07
910
常用
的
串口
相关
寄存器
有
哪些?
2021-12-13
3256
STM32 UART
串口
通信的
常用
寄存器
有
哪些
2022-02-16
1146
STM32的UART特点
有
哪些呢
2021-12-07
989
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分