香橙派AIpro开发板上有一个SPI接口,如下图红框所示,
系统启动后,其对应的设备是 /dev/spidev0.0
一 硬件回环测试
香橙派AIpro上的系统自带spidev_test工具,非常方便,可以查看其帮助信息,如下,
然后用一根杜邦线把GPIO2_27和GPIO2_28连接在一起,也就是SPIO0_SDO和SPIO0_SDI连接在一起,如下图,
PS:SPIO0_SDO应该就是MOSI,SPIO0_SDI则是MISO
最后输入以下命令进行测试,
sudo spidev_test -D /dev/spidev0.0 -v -p 123
结果如下,
开头三行是spidev_test对SPI控制器的默认配置,可以根据帮助信息进行修改,后面是TX和RX,这里发送的数据是字符串“123”,其对应的ASCII码值是0x31 0x32 0x33,同样RX也收到了相同的数据。
二 软件回环测试
如果没有杜邦线连接MOSI和MISO,那么可以使用软件回环测试,也就是加一个"-l"选项,
命令如下,
sudo spidev_test -D /dev/spidev0.0 -v -l -p 123
也可以得到相同结果
三 源码编译spidev_test
如果系统里没有spidev_test,那么可以自己下载源码然后编译,地址是https://github.com/rm-hull/spidev-test,命令操作如下,
git clone https://github.com/rm-hull/spidev-test.git
cd spidev-test
gcc spidev_test.c -o spidev_test
这个编译好的spidev_test相比系统自带的有以下区别,
对用户来说第一点比较有用,默认打开的设备改成了/dev/spidev0.0
另外,如果想自己写代码操作SPI设备,可以参考spidev_test.c,就400行代码,比网上找例子方便太多,这里要吐槽一下,本人之前不知道有这个spidev_test.c,然后网上找例子,基本都不能运行…