我有以下问题。使用SPI和I2C协议时,读/写操作之间有什么区别?例如,我有2个不同的传感器,一个通过SPI接口,另一个通过I2C接口。
因此,I2C读取如下:
对于SPI读取:
设置芯片选择引脚以启用从设备。
将读取命令发送到从属设备以表明它是读取操作。
那么我们如何阅读内容?通过使用将其存储在变量中 C中的'='运算符?
我对顺序正确吗?还是我错过了什么?请说清楚。 谢谢
答案 0 :(得分:0)
SPI在全双工模式下工作。但是从站仍然无法在收到地址后立即响应。通常,它需要8个周期才能再次响应。以上所述,SPI也存在3种模式。
是否可以使用=运算符读取值?这取决于驱动程序的实现。但很可能不是。通常,传递诸如RX缓冲区和传输大小之类的输入参数。如果是同步/阻塞调用,则应该能够在读取/传输调用之后读取同一缓冲区的内容。否则,您必须在ISR或稍等片刻后阅读