Cortex M0+內核芯片開關外設中斷
1、引言
本文將介紹如何針對Cortex M0+內核芯片的外設進行開關(使能與失能)設置,控制NXP Keaz128芯片CAN中斷開關爲例,其他該內核芯片設置方式可進行參考。
2、NVIC
NVIC:Nested Vectored Interrupt Controller,嵌套向量中斷控制器。在ARM內核中由NVIC模塊負責中斷向量相關設置,自然Cortex M0+內核也不例外。在Keaz128芯片手冊關於NVIC一節中內容如下,
其中並沒有對NVIC具體寄存器的描述,其屬於內核部分內容,故需要查看內核相關文檔。在Cortex M0+技術參考手冊(Cortex M0+ Technical Reference Manual.pdf)中關於NVIC一章有關於NVIC寄存器的描述如下
由上圖可知其寄存器ISER和ICER分別爲設置中斷使能寄存器和清除中斷使能寄存器,具體描述需查看ARMv6-M相關文檔,那麼查看ARMv6-M體系架構參考手冊(ARMv6-M Architecture Reference Manual.pdf)NVIC的部分,其中有上述兩個寄存器的具體描述,
由此可知這兩個寄存器都爲32位,那麼只要知道需要設置的外設中斷源編號,然後設置這兩個寄存器的相應位即可。如keaz128的中斷向量分配如下
那麼設置NVIC_ISER的30位爲1即可實現MSCAN接收中斷的使能,其他同理。
3、參考文檔
KEA128RM.pdf
Cortex M0+ Technical Reference Manual.pdf
ARMv6-M Architecture Reference Manual.pdf
更多技術內容歡迎關注我的公衆號,我們一起討論
您的關注、轉發是對我最大的支持
關注公衆號後臺留言獲取更多資源