[N32G45x] 国民技术 N32 系列的 C 语言中断编程要点

[复制链接]
19|1
N32 系列 MCU 用 C 语言写中断相关代码时,容易忽略的几个细节整理如下:

1. 中断服务函数名要与启动文件中的向量表符号严格一致,大小写都不能错;名字写错时编译不会报错,但中断***不响应。

2. 做向量表重定向(Bootloader 或固件升级场景)时,除了改 SCB 的 VTOR 寄存器,还要保证重定向地址按表大小对齐。

3. 主循环与中断共享的全局变量必须加 volatile;如果变量宽度大于机器字长,或者存在读-改-写操作,还要额外用临界区保护。

4. 在中断里调用打印、延时一类阻塞函数是大忌,会导致其他中断被长时间挂起;需要传递数据时用环形缓冲,主循环里再处理。

5. 配置时钟和外设时注意先开时钟再访问寄存器,顺序颠倒会出现写入无效的现象。

以上,供参考。
AdaMaYun 发表于 2026-9-19 16:56 | 显示全部楼层
中断服务函数尽量短,仅置标志位,耗时处理放主循环;共享变量用关中断临界区保护,NVIC优先级分组按需配置避免嵌套混乱。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

435

主题

3681

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部
0