3

我正在使用带有 IAR Embedded Workbench 5.10 的 msp430f5418。

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

MSP 主机使用 8 位、MSB 优先模式和 SMCLK。

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

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

任何人都可以解释为什么它工作?

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

谢谢,

4

1 回答 1

4

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

一般来说,您应该确保一件事在另一件事开始之前完成。通常,您如何确保可以使用硬件功能或通过分析或实验。如果硬件具有该功能并且您以某种方式确定您不需要检查,那么在有或没有检查的情况下进行性能测试仍然是一个好主意。如果性能不重要或没有太大差异,那么在某个地方离开检查仍然可能更安全,即使您的代码带有大量警告注释,编译器或代码更改可能就足以让它没有工作没有检查。

于 2012-04-09T13:39:42.273 回答