在运行Debian的袖珍beagle上,我有三个spidev设备(spidev1.0、spidev2.0和spidev2.1)。
我在spi1上有一个SPI温度传感器(它是spidev2.0和spidev2.1)。在2.0上的回环测试(通过跳转MOSI和MISO)有效。数据传回给我了。但是,我无法将数据发送到临时传感器。当我切换到2.1时,一切正常工作。
为什么会这样呢?2.0和2.1有什么区别?
发布于 2021-10-05 06:29:32
2.0和2.1之间的区别是芯片选择引脚(cs)。
SPIDIV1.0: spi0_cs0 -> P1.06(默认)
spidev2.0 spi1_cs0 -> P1.26(mode4)、P1.32(mode1)、P2.25(mode5)、P2.3(Mode3)。
spidev2.1 spi1_cs1 -> P1.28(mode4),P1.30(mode1),P2.29(mode2),P2.31(mode4)
资源:https://github.com/beagleboard/pocketbeagle/wiki/System-Reference-Manual#Figure_1_PocketBeagle_首页_页面
发布于 2019-04-25 03:12:51
据我所读,spidev2.0和2.1参考了为它们配置的芯片选择。虽然我不知道使用的是哪种芯片选择2.0,但是2.1的芯片选择必须是板上标记为芯片选择的芯片。
https://unix.stackexchange.com/questions/515277
复制相似问题