完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
简介:
通用同步异步收发器(USART)提供了一种灵活的方法来与是用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信。它也支持LIN(局部互联网),智能卡协议和IrDA(红外数据组织)SIR ENDEC 规范,以及调制解调器(CTS/TRS)操作。它还允许多处理器通信。使用多缓冲器配置的DMA方式,可以实现高速数据通信。 寄存器结构分布:
通过结构体 typedef struct { vu16 SR; vu16 DR; vu16 BRR; vu16 CR1; vu16 CR2; vu16 CR3; vu16 GTPR; }USART_TpeDef; 对寄存器进行定义,然后通过对USART模块基地址进行定义,再根据这些基地址就可以结合着结构体对各个USART模块里的各个寄存器进行访问了; 为了方便对USART工作模式、时钟频率设定,定义如下结构体: 1. typedef struct { uint32_t USART_BaudRate; /*设置波特率,波特率计算公式为: - IntegerDivider = ((PCLKx) / (16 * (USART_InitStruct->USART_BaudRate))) - FractionalDivider = ((IntegerDivider - ((u32) IntegerDivider)) * 16) + 0.5 */ uint16_t USART_WordLength; /*设定发送接收字长 */ uint16_t USART_StopBits; /*设置停止位*/ uint16_t USART_Parity; /*奇偶校验位 */ uint16_t USART_Mode; /*使能发送接收 */ uint16_t USART_HardwareFlowControl; } USART_InitTypeDef; 2. typedef struct { uint16_t USART_Clock; /*使能USART模块时钟*/ uint16_t USART_CPOL; uint16_t USART_CPHA; uint16_t USART_LastBit; } USART_ClockInitTypeDef; 下次分享几个比较常用的串口通信函数: 1. void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct); 2. void USART_ClockInit(USART_TypeDef* USARTx, USART_ClockInitTypeDef* USART_ClockInitStruct); 3. void USART_SendData(USART_TypeDef* USARTx, uint16_t Data); 4. uint16_t USART_ReceiveData(USART_TypeDef* USARTx); 5. FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG); 6. void USART_ClearFlag(USART_TypeDef* USARTx, uint16_t USART_FLAG); 7. ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT); 8. void USART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT); |
|
|
相关推荐
|
|
|
【云智易试用体验】+stm32深入底层驱动之GPIO模块(下)https://bbs.elecfans.com/jishu_514318_1_1.html
|
|
|
|
|
|
|
|
|
【云智易试用体验】+stm32深入底层驱动之GPIO模块(上)https://bbs.elecfans.com/jishu_514265_1_1.html
|
|
|
|
|
|
|
|
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2810 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2420 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2288 浏览 0 评论
2404 浏览 1 评论
1643 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 12:57 , Processed in 1.185750 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖