在运行 Debian 的 Pocket Beagle 上,我有三个 spidev 设备(spidev1.0、spidev2.0 和 spidev2.1)。
我在 spi1 上有一个 SPI 温度传感器(即 spidev2.0 和 spidev2.1)。 2.0 上的环回测试(通过跳接 MOSI 和 MISO)有效。数据又回到了我的身边。但是我无法将数据发送到温度传感器。当我切换到2.1时,一切正常。
这是为什么? 2.0和2.1有什么区别?
答案1
2.0 和 2.1 之间的区别在于片选引脚(cs)。
spidev1.0:spi0_cs0 -> P1.06(默认)
spidev2.0 spi1_cs0 -> P1.26(模式4)、P1.32(模式1)、P2.25(模式5)、P2.30(模式3)。
spidev2.1 spi1_cs1 -> P1.28(模式4)、P1.30(模式1)、P2.29(模式2)、P2.31(模式4)
答案2
据我所知,spidev2.0和2.1指的是为它们配置的片选。虽然我不知道使用的是哪个chipselect 2.0,但2.1的chipselect必须是板上标记为chip select的那个。