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