完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
UART串口时序
UART串口配置 1)串口时钟使能。串口作为 STM32 的一个外设,其时钟由外设时钟使能寄存器控制,这里我们使用的串口1是APB2ENR寄存器的第14位。(除了串口 1 的时钟使能在 APB2ENR 寄存器,其他串口的时钟使能位都在 APB1ENR 寄存器,而 APB2(72M)的频率一般是 APB1(36M)的一倍。) 2)串口复位。当外设出现异常的时候可以通过复位寄存器里面的对应位设置,实现该外设的复位,然后重新配置这个外设达到让其重新工作的目的。一般在系统刚开始配置外设的时候,都会先执行复位该外设的操作。 串口 1 的复位是通过配置 APB2RSTR 寄存器的第 14 位来实现的。串口1的复位设置位在APB2RSTR的第14位。通过向该位写1复位串口1,写 0 结束复位。 APB2RSTR 寄存器的各位描述如图 8.1.1 所示 3)串口波特率设置。每个串口都有一个自己独立的波特率寄存器 USART_BRR,通过设置该寄存器就可以达到配置不同波特率的目的。 串口波特率计算公式:见《STM32中文数据参考手册》。 4)STM32 的每个串口都有 3 个控制寄存USART_CR1~3,串口的很多配置都是通过这 3 个寄存器来设置的。这里我们只要用到 USART_CR1 就可以实现我们的功能了。 关于寄存器的具体描述请看《STM32中文数据参考手册》。 该寄存器的高 18 位没有用到,低 14 位用于串口的功能设置。 UE 为串口使能位,通过该位置 1,以使能串口。 M 为字长选择位,当该位为 0 的时候设置串口为 8 个字长外加 n 个停止位,停止位的个数(n)是根据USART_CR2 的[13:12]位设置来决定的,默认为 0。 PCE 为校验使能位,设置为 0,则禁止校验,否则使能校验。 PS 为校验位选择,设置为 0 则为偶校验,否则为奇校验。 TXIE 为发送缓冲区空中断使能位,设置该位为 1,当 USART_SR 中的 TXE 位为1 时,将产生串口中断。 TCIE 为发送完成中断使能位,设置该位为 1,当 USART_SR 中的 TC位为 1 时,将产生串口中断。RXNEIE 为接收缓冲区非空中断使能,设置该位为 1,当 USART_SR中的 ORE 或者 RXNE 位为 1 时,将产生串口中断。 TE 为发送使能位,设置为 1,将开启串口的发送功能。 RE 为接收使能位,用法同 TE。 5)数据发送与接收。STM32 的发送与接收是通过数据寄存器USART_DR 来实现的,这是一个双寄存器,包含了 TDR 和 RDR。当向该寄存器写数据的时候,串口就会自动发送,当收到数据的时候,也是存在该寄存器内。 DR[8:0]为串口数据,包含了发送或接收的数据。 当使能校验位(USART_CR1 中 PCE 位被置位)进行发送时,写到 MSB 的值(根据数据的长度不同,MSB 是第 7 位或者第 8 位)会被后来的校验位取代。当使能校验位进行接收时,读到的 MSB 位是接收到的校验位 6)串口状态。串口的状态可以通过状态寄存器 USART_SR 读取。USART_SR 的各位描述: RXNE(读数据寄存器非空),当该位被置 1 的时候,就是提示已经有数据被接收到了,并且可以读出来了。这时候我们要做的就是尽快去读取 USART_DR,通过读 USART_DR 可以将该位清零,也可以向该位写 0,直接清除。 TC(发送完成),当该位被置位的时候,表示 USART_DR 内的数据已经被发送完成了。如果设置了这个位的中断,则会产生中断。该位也有两种清零方式:1)读 USART_SR,写USART_DR。2)直接向该位写 0。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1777 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1080 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1678 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
595浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
554浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 04:28 , Processed in 0.829543 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号