This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
团队、
我的一位客户正在尝试与 SPI 器件通信、该器件需要24位数据。 器件不直接支持发送此功能、因此会发送3个8位数据。 SPI 处于 FIFO 模式。
在极少数情况下、可能会发生75kHz ISR 中断对 SPITXBUF 的3次写入。 在这种情况下、第2个字节和第3个字节之间存在间隙、外部 SPI 器件无法获取数据。 请参见下图。 因此、已将2个字节写入 SPI FIFO、传输已开始、发生中断、两个字节都已发送、ISR 所需时间过长、第3次写入过晚。
是否有可能 SPI 只有在写入3个字节时才开始发送?
当然、可以在进行3次写入之前禁用中断、但这样 ISR 本身会延迟。 DMA 可能是另一种解决方案、但并不是首选。
谢谢!
Robert