完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
串口通信基本原理
常用串口相关寄存器 1、USART_SR状态寄存器 2、USART_DR数据寄存器 3、USART_BRR波特率寄存器 串口操作相关函数 void USART_Init(); //串口初始化:波特率,数据字长,奇偶校验,硬件流控以及收发使能void USART_Cmd();//使能串口 void USART_ITConfig();//使能相关中断(比如接收中断,下面的例子中的⭐) void USART_SendData();//发送数据到串口,DR uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据FlagStatus USART_GetFlagStatus();//获取状态标志位 void USART_ClearFlag();//清除状态标志位 ITStatus USART_GetITStatus();//获取中断状态标志位 void USART_ClearITPendingBit();//清除中断状态标志位 硬件连接 PA9,PA10(串口1)连接到了USB串口电路。(正点原子探索者) 串口配置一般步骤 1、时钟使能 一般包括GPIO时钟使能,和串口时钟使能。 RCC_APBxPeriphClockCmd(); RCC_AHB1PeriphClockCmd(); 2、引脚复用映射 GPIO_PinAFConfig(); eg: GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1);//串口通信一般需要用两个GPIO管脚 GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1); 3、GPIO参数初始化GPIO_Init() 模式设置成GPIO_Mode_AF(管脚复用模式) 4、串口参数初始化USART_Init() 其中也要配置相关结构体,详情见下面代码中的说明。 5、中断相关设置(如果需要开启中断再执行这个步骤,否则不用) USART_ITConfig();//配置中断触发方式(比如说下面代码中的接收触发USART_IT_RXNE)NVIC_Init();//相关介绍见前面的blog//记得NVIC要设置分组啊!!! 同样也要编写响应的中断服务函数 6、使能串口 USART_Cmd(); eg: USART_Cmd(USART1 ,ENABLE);//使能串口1 7、串口数据收发 void USART_SendData();//发送数据到串口,DR uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据 eg: if(USART_GetITStatus(USART1,USART_IT_RXNE)){ res=USART_ReceiveData(USART1); USART_SendData(USART1,res); } 8、串口状态获取 FlagStatus USART_GetFlagStatus(); void USART_ClearITPendingBit(); |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1561 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1501 浏览 1 评论
933 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
665 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1555 浏览 2 评论
1848浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
610浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
504浏览 3评论
508浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
489浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 17:13 , Processed in 0.629372 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号