我在UART外设上有几个OVERRUN错误,因为我在代码停止时一直接收UART数据,因为我正在闪存上执行写操作。
我正在使用UART的中断并拥有它……
任何 在写入操作正在进行时尝试从闪存读取会导致总线停止。
为了不被闪存写入阻止,我认为不仅中断代码,而且中断的功能也必须从RAM运行,否则核心无法进入可能中断的状态。
尝试将闪存处理代码重新定位到RAM。
如果可能,我建议切换到具有两个独立闪存库的MCU,如引脚和软件兼容的427/429/437/439系列。您可以将一个存储区专用于编程代码,另一个存储区用于类似EEPROM的数据存储,然后写入第二个存储区不会干扰从第一个存储区运行的代码。