stm32 - STM32 - Cortex M3:STIR 寄存器
问题描述
我正在尝试编写代码以生成软件触发器。数据表让我感到困惑,我在 NET 上找不到任何示例。在 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??
}
这是正确的方法吗?有人有这方面的经验吗?任何帮助都非常感谢..
Ps对不起我的英语
马可。
解决方案
推荐阅读
- javascript - 如何获取弹出窗口的父窗口的域?
- python - 找不到硒元素下拉菜单python
- blockchain - 为什么我们不能通过智能合约将以太币发送到以太坊地址 0x1
- javascript - Express 找不到 webpack 包
- postgresql - 在 postgres 中建立表之间关系的最佳方法
- javascript - 自动组合“window.width”和“scrolltop”
- python - Django 添加两个数字
- python - django 中的 Ovveride UserCreationForm 错误消息
- javascript - 使用 JavaScript 验证电子邮件后缀
- amazon-web-services - API 网关可以代理到 HTTP 服务器而不是 json 吗?