串口中斷服務函數的觸發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資料與官方庫函數
自學新手,個人總結,如有出入,請多指教!