小学生
最后登录1970-1-1
在线时间 小时
注册时间2021-8-2
|
发表于 2024-8-15 13:29:14
|
显示全部楼层
APP端需要重新设置中断向量表
- /**
- * [url=home.php?mod=space&uid=41770]@brief[/url] 设置系统 NVIC 向量表的位置
- *
- * 本函数用于将 NVIC 的向量表重定位到新的地址。这是通过设置 SCB 的 VTOR 寄存器实现的,
- * 其中向量表的基地址由 baseaddr 参数给出,偏移量由 offset 参数给出。偏移量的低9位将被保留,
- * 因为这是 VTOR 寄存器的要求。
- *
- * @param baseaddr 向量表的基地址
- * @param offset 向量表相对于基地址的偏移量
- */
- void sys_nvic_set_vector_table(uint32_t baseaddr, uint32_t offset)
- {
- // 设置NVIC的向量表偏移寄存器,VTOR低9位保留,即[8:0]保留
- SCB->VTOR = baseaddr | (offset & (uint32_t)0xFFFFFE00);
- }
复制代码 |
|