我的STM32 MCU使用的是外部SPI闪存.
我想知道以下情况是否会导致闪存或读缓冲区中的数据损坏?
如果ISR同时触发,而主进程正在进行与闪存的通信(读/写/擦除),并且ISR占用一些时钟周期,则返回到通信.它会导致任何这样的问题吗?我怎样才能继续调查它呢?
注:ISR不访问SPI总线.
我的STM32 MCU使用的是外部SPI闪存.
我想知道以下情况是否会导致闪存或读缓冲区中的数据损坏?
如果ISR同时触发,而主进程正在进行与闪存的通信(读/写/擦除),并且ISR占用一些时钟周期,则返回到通信.它会导致任何这样的问题吗?我怎样才能继续调查它呢?
注:ISR不访问SPI总线.
不你会没事的 作为SPI总线上的主器件,STM32产生时钟信号,决定通信速率. 如果发生了什么事情使CPU变慢,您可能会注意到的唯一一件事是,时钟线上的某些转换之间存在比必要的更长的延迟,但这不会导致与您通信的SPI设备出现任何问题.
如果您不确定这一点,请try 在代码中的许多不同位置设置100微秒的延迟,看看SPI通信是否会出错.