STM32 - Cortex M3。STIR寄存器

问题描述 投票:1回答:1

我正试图编写代码以生成软件触发器。在4.2.8的 "Cortex-M3器件通用用户指南 "中,我读到在NVIC->STIR寄存器中写下产生软件中断的代码:[STIR寄存器][1]。

但是,如果我理解正确的话,USERSETMPEND对于无权限的软件必须设置为1(我想这是我的情况).但是如果我想访问SCR,我必须是 "有权限的"[SCR寄存器][2] 。

那么,如何才能进入特权模式呢?我在代码中做了如下工作

   SCB->CCR |= 0x02; // USERSETMPEND = 1. But I must be "privileged"
    HAL_NVIC_EnableIRQ(EXTI0_IRQn); // enable interrupt line
   .... some code....
   ... ...
   if(my_software_trigger)
    {

   my_software_trigger = 0;
   NVIC->STIR = EXTI0_IRQn; // triggers interrupt??
  }

这样的做法正确吗?谁有这方面的经验?任何帮助真的很感激d。

P.s. Sorry for my english

马可

stm32 interrupt-handling cortex-m3
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.