完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、基础知识:
串行通信的通信方式:
二、STM32F4串口通信的基本设置:(时钟使能、IO口设置、波特率设置等) 正常模式下:需要RX和TX引脚,并作如下配置
空闲字符:整个帧周期内电平均为1(停止位电平也为1) 停止字符:一个帧周期内接收到的电平均为0 发送和接收由通用波特率发生器驱动。发送器和接收器的使能位分别置1时将生成相应的发送时钟和接收时钟。 发送器:发送器可以发送8位或9位的数据字,具体取决于M位的状态。发送使能位TE置1时,发送移位寄存器的数据在TX引脚输出,相应的时钟脉冲在SCLK引脚输出。 字符发送:每个字符前都有一个起始位,其逻辑电平在一个周期内均为低电平,字符由可配置数量的停止位停止。 配置步骤:
起始位检测:16倍或8倍过采样时,起始位检测序列相同。在USRAT中检测到特定序列的采样时会检测到起始位。 字符接收:USART接收期间,首先通过RX引脚移入数据的最低有效位 配置步骤:
公式一:适用于标准USART(包括SPI模式)的波特率 公式二:适用于智能卡、LIN和IrDA模式下的波特率 USARTDIV是一个存放在USART_BRR寄存器中的无符号定点数
串口模式配置:
UE:置1使能USART,该位为0则USART预分频器和输出将停止 M:设定字长(0:1起始位,8数据位,n停止位;1:1起始位,9数据位,n停止位;) OVER:采样模式设置(0:16倍过采样;1:8倍过采样) RXNEIE: TE:发送使能位 RE:接收使能位
TC(发送完成)该位被置1说明USART_DR中的数据已经发送完成了。 三、设置例程 void uart_init(u32 pclk2,u32 bound) { float temp; u16 mantissa; u16 fraction; temp=(float)(pclk2*1000000)/(bound*16);//得到USARTDIV@OVER8=0 mantissa=temp; //得到整数部分 fraction=(temp-mantissa)*16; //得到小数部分@OVER8=0 mantissa<<=4; mantissa+=fraction; RCC->AHB1ENR|=1<<0; //使能PORTA口时钟 RCC->APB2ENR|=1<<4; //使能串口1时钟 GPIO_Set(GPIOA,PIN9|PIN10,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU);//PA9,PA10,复用功能,上拉输出 GPIO_AF_Set(GPIOA,9,7);//PA9,AF7 GPIO_AF_Set(GPIOA,10,7);//PA10,AF7 //波特率设置 USART1->BRR=mantissa; //波特率设置 USART1->CR1&=~(1<<15); //设置OVER8=0 USART1->CR1|=1<<3; //串口发送使能 #if EN_USART1_RX //如果使能了接收 //使能接收中断 USART1->CR1|=1<<2; //串口接收使能 USART1->CR1|=1<<5; //接收缓冲区非空中断使能 MY_NVIC_Init(3,3,USART1_IRQn,2);//组2,最低优先级 #endif USART1->CR1|=1<<13; //串口使能 } |
||||||
|
||||||
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
728浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
568浏览 3评论
593浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 13:26 , Processed in 0.796226 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号