我在 STM32 MCU 上使用外部 SPI 闪存。
我想知道以下情况是否会导致闪存或读取缓冲区中的数据损坏?
如果ISR同时触发,而主进程正在与Flash进行通信(读/写/删除),并且ISR会占用一些时钟周期,然后返回通信。它会导致任何此类问题吗?我该如何继续调查?
注意:ISR 不访问 SPI 总线。
最佳答案
不,你会没事的。作为 SPI 总线上的主设备,STM32 生成决定通信速率的时钟信号。如果发生某些事情导致您的 CPU 速度变慢,您可能会注意到的唯一一件事是时钟线上的某些转换之间存在比必要的延迟更长的延迟,但这不会导致您正在通信的 SPI 设备出现任何问题。
如果您对此不确定,请尝试在代码中的许多不同位置放置 100 微秒的延迟,看看 SPI 通信是否会困惑。
关于c - 与外部 SPI 闪存通信时是否应该禁用中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77380754/