STM32经验心得(一)
相关经验及心得如下:
摘要:1.在配置USART的TX完成中断后,在没有发数的情况下自动进入TX完成中断函数。2 .在TX配置完成后,相应的TC标志位会自动置1,随后就进入了TX完成中断。3.相关配置程序编写无误,并已经开启时钟,依旧无法配置相关GPIO及外设;4.ADC通道:分为规则组和注入组;5.修改定时器的预装值后,定时器不能立刻修改。
一、 USART TX中断配置
1. 问题描述:
在配置USART的TX完成中断后,在没有发数的情况下自动进入TX完成中断函数。
2. 问题分析:
在TX配置完成后,相应的TC标志位会自动置1,随后就进入了TX完成中断。
(TC标志位:发送完成标志位 )
当包含有数据的一帧发送完成后,由硬件将该位置位。如果USART_CR1中的TCIE为1,则产生中断。由软件序列清除该位(先读USART_SR,然后写入USART_DR)。TC位也可以通过写入0来清除,只有在多缓存通讯中才推荐这种清除程序。
0:发送还未完成;
1:发送完成成。
3. 解决方法:
a) 方案一: 先读状态寄存器(USART_SR) ,然后再DR发送寄存器中