為了管理中斷請求的優(yōu)先級并處理其他異常,Cortex-M0處理器內(nèi)置了嵌套中斷控制器(NVIC)。NVIC的一些可編程控制器控制著中斷管理功能,這些寄存器被映射到系統(tǒng)地址空間里,它們所處的區(qū)域被稱為系統(tǒng)控制空間(S
一、背景需要使用STM32的CAN進行通信,經(jīng)過一系列配置后,已可正常收發(fā),還剩下一個CAN通信的錯誤處理??慑e誤中斷使能寄存器已經(jīng)配置使能了,出錯后就是無法進入"CAN1_SCE_IRQHandler"中斷。(讓CAN通信出錯的的辦法
1.assert_param實際上assert_param是一個宏定義,在固件庫中,它的作用就是檢測傳遞給函數(shù)的參數(shù)是否是有效的參數(shù)。當(dāng)參數(shù)無效時,assert_param()可以在運行的程序調(diào)用到這個函數(shù)時報告錯誤,使程序員可以及時發(fā)現(xiàn)錯
NVIC是Cortex-M3核心的一部分,關(guān)于它的資料不在《STM32的技術(shù)參考手冊》中,應(yīng)查閱ARM公司的《Cortex-M3技術(shù)參考手冊》Cortex-M3的向量中斷統(tǒng)一由NVIC管理EXTI是ST公司在其STM32產(chǎn)品上擴展的外中斷控制。它負責(zé)管理
cortex-m3支持256個中端,其中包含了16個內(nèi)核中斷,240個外部中斷。stm32只有84個中斷,包括16個內(nèi)核中斷和68個可屏蔽中斷。stm32f103上只有60個中斷,f107上才有68個中斷。