有關STM32F0的NVIC問題(跟中斷有關)

2019-12-17 21:27发布

本帖最后由 陳聖文 于 2018-10-12 17:41 编辑

小弟正在研究NVIC
以下有兩條程式我無法在DATASHEET上找到他的相關資料
有關NVIC的相關寄存器
以下是紅字的寄存器就是無法在DATASHEET上找到的

  1. //設定其優先權
  2. __STATIC_INLINE void NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
  3. {
  4.   if((int32_t)(IRQn) < 0) {
  5.     SCB->SHP[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) |
  6.        (((priority << (8 - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
  7.   }
  8.   else {
  9.     NVIC->IP[_IP_IDX(IRQn)]  = ((uint32_t)(NVIC->IP[_IP_IDX(IRQn)]  & ~(0xFFUL << _BIT_SHIFT(IRQn))) |
  10.        (((priority << (8 - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
  11.   }
  12. }
复制代码
NVIC->IP


  1. //設定啟用
  2. __STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)//---------------------------------------------------------------------------
  3. {
  4.   NVIC->ISER[0] = (uint32_t)(1UL << (((uint32_t)(int32_t)IRQn) & 0x1FUL));
  5. }
复制代码
NVIC->ISER[0]

以下附上我所使用的DATASHEET STM32F030-F4_DATASHEET_779.pdf (11.46 MB, 下载次数: 3) 2018-10-12 17:39 上传 点击文件名下载附件
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。