nRF52832 中断相关
中斷號見《nrf52.h》 66行至117行,負數為cortex-M4內核中斷(內部中斷),0與正數為廠商自定義中斷(外部中斷)。?
函數名見《iar_startup_nrf52.s》 78行至134行。
中斷等級0~7,有點少吧。?
注意:SCB->VTOR定義中斷表位置(Vector Table Offset Register)。?
默認搶占中斷等級3位,0~7全是搶占中斷。
中斷搶占優先級和亞優先級,具體定義見宋巖譯《Cortex-M3 權威指南》,110頁,不做引用(M3與M4變化不大)。?
__STATIC_INLINE void NVIC_SetPriorityGrouping(uint32_t PriorityGroup);?
__STATIC_INLINE uint32_t NVIC_GetPriorityGrouping(void);
設置中斷優先級,外部內部中斷都可用(自動分辨正負號)。?
__STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority);?
__STATIC_INLINE uint32_t NVIC_GetPriority(IRQn_Type IRQn);
開掛中斷,注意以下只支持外部中斷。?
__STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn);?
__STATIC_INLINE void NVIC_DisableIRQ(IRQn_Type IRQn);?
是否掛起?
__STATIC_INLINE uint32_t NVIC_GetPendingIRQ(IRQn_Type IRQn);?
軟件掛起?
__STATIC_INLINE void NVIC_SetPendingIRQ(IRQn_Type IRQn);?
清除掛起?
__STATIC_INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn);?
是否激活?
__STATIC_INLINE uint32_t NVIC_GetActive(IRQn_Type IRQn);
軟件重啟?
__STATIC_INLINE void NVIC_SystemReset(void)
設置系統時鐘?
__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)?
注意:系統時鐘中斷等級7,最低。(7是最低嗎?我記錯了?)
---------------------?
作者:大頭蒼蠅?
來源:CSDN?
原文:https://blog.csdn.net/flyof1983/article/details/53185096?
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的nRF52832 中断相关的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nordic 协议栈区别
- 下一篇: ESP32 OTA升级框架