Cortex M0+內核芯片開關外設中斷

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

 

更多技術內容歡迎關注我的公衆號,我們一起討論

您的關注、轉發是對我最大的支持

關注公衆號後臺留言獲取更多資源

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章