串口中斷服務函數的觸發

串口中斷服務函數的觸發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資料與官方庫函數

自學新手,個人總結,如有出入,請多指教!

發佈了13 篇原創文章 · 獲贊 2 · 訪問量 2020
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章