串口中断服务函数的触发USART1_IRQHandler(void)
1. 串口发送中断
下图为状态寄存器(USART_SR)中的位7、位6说明,发送完一帧并且发送数据寄存器为空时,位6置1。
下图为控制寄存器(USART_CR1)的位6说明,当(USART_CR1)的位6置1,并且上述(USART_SR)中的位6置1时,即可产生USART中断。
2.串口接收中断
下图为状态寄存器(USART_SR)中的位5说明,接收到数据(移位寄存器中的数据被转移到数据寄存器中时)则该位置1。
下图为控制寄存器(USART_CR1)的位5说明,当(USART_CR1)的位5置1,并且上述(USART_SR)中的位5置1时,即可产生USART中断。
下面是串口中断配置函数
//开启串口发送中断,即将USART_CR1寄存器的位6置1
USART_ITConfig(USART1, USART_IT_TC, ENABLE)
//开启串口接收中断,即将USART_CR1寄存器的位5置1
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE)
文中函数和部分内容摘自正点原子stm32资料与官方库函数
自学新手,个人总结,如有出入,请多指教!