【发布时间】:2020-01-30 08:26:52
【问题描述】:
这几天我已经解决了偶尔错误寄存器写入的问题。问题是,我在主循环的 GPIO 输出寄存器 (LPC_GPIO_PORT->SET[1]) 中写了很多东西。在中断例程中,我正在写入这些相同的寄存器,并且当在主循环中写入这些寄存器时恰好发生中断时,从中断返回时,对这些寄存器的更改被丢弃并替换为之前写入寄存器的更改进入中断。
我正在使用 LPC1549 微控制器。中断中的寄存器写入用于 BLDC 电机控制,因此您可以每 10-30 秒听到电机发出一声巨响。通过减少主循环中的写寄存器,我完全消除了这个问题。问题是,微控制器中的所有寄存器都一样吗?我找不到任何描述这个问题的东西,这可能是一个严重的问题,而且一旦开始造成麻烦,也很难找到。
【问题讨论】:
标签: return interrupt cpu-registers lpc nxp-microcontroller