如何在SPI编程中为多个从站设置芯片选择?(结构spi_ioc_transfer)



也许我实际上问错了问题,但我只是在嵌入式世界中迈出了第一步。所以如果这个问题有点愚蠢,我很抱歉。

我正在尝试在c ++和linux环境中为9DOF IMU编写软件。

据我了解,SS引脚必须处于低电平有效状态才能进行传输。我见过多个读取或写入字节函数示例,并且都使用结构spi_ioc_transfer但它们都是单个从属示例,并且没有提到在代码中设置或配置 SS。另外,当我检查spi_ioc_transfer的结构时,cs_change但是,它如何从一开始就知道我们正在处理哪些cs?

要使用的芯片选择(CS 或 SS(取决于您打开的设备节点。

要使用 Linux spidev 驱动程序与 SPI 芯片通信,请打开一个设备,例如/dev/spidev0.1。设备节点文件名中的数字分别指总线和片选 — 在本例中,它将是第一条总线 (0( 和第二条总线 (1(。如果要与不同芯片选择上的设备通信,则必须打开不同的设备节点并在适当的节点上执行 ioctl。

最新更新