草庐IT

clearFlags

全部标签

ClearFlag()和ClearITPendingBit()的区别

相信部分小伙伴在学习中断时对这两个函数有点懵,乍一看,这两个函数好像没啥区别,但其实还是有细微的区别的,它体现了编程逻辑的严谨,为啥这么说呢,请往下看。首先我们看看两者的作用:ClearFlag():清除中断标志位ClearITPendingBit():清除中断待处理位在这里,想要明白两个函数的区别就得明白标志位和待处理位是啥:标志位是事件发生与否的判断依据,用于支持函数的运行,如果事件发生,则该位至1,但是这不一定会产生中断,查阅手册USART寄存器(下图)可以看到,事件发生后,标志位TXE置1,但是想要产生中断,还得将TXEIE位置1(使能中断)。待处理位是控制中断发生的标志,如果该位置1