SPI真的需要等待循环吗?

时间:2012-04-09 12:46:00

标签: embedded spi iar

我正在使用msp430f5418,使用IAR Embedded workbench 5.10。

图形LCD(ST7565R)通过SPI连接到MSP ..

MSP主机使用带有SMCLK的8位MSB优先模式。

通常我们必须在使用SPI传输字节之前检查忙位,对吗?

但就我而言,即使我连续发送数据而不检查忙位,它也可以正常工作,我可以正确查看显示数据。

有人可以解释为什么会有效吗?

是否需要检查就绪位还是安全?

谢谢,

1 个答案:

答案 0 :(得分:4)

您的软件可能足够慢,每次都会完成spi事务。如果您可以验证是这种情况并且总是如此,那么您可以争辩不要添加更多代码来进行检查。删除执行检查的代码可能会加速您的例程,足以使spi接口过快并导致冲突。

一般来说,你应该确保一件事在另一件事开始前完成。一般来说,您可以确定如何使用硬件功能或通过分析或实验。如果硬件具有该功能并且您以某种方式确定您不需要检查,那么使用和不使用检查进行性能测试仍然是个好主意。如果性能不是很关键或者没有太大区别,那么离开检查仍然可能更安全,在某个地方,即使您的代码被大量注释警告,编译器或代码更改可能只是让它没有没有支票的工作。