8,460
个编辑
更改
→40 pin SPI测试
<li><p>SPI0和SPI4在40pin中对应的引脚如下表所示。SPI4_M1和SPI4_M2同一时间只能使用其中一组,不能同时使用,它们都是同一个SPI4,只是接到不同的引脚上去了而已,请不要以为它们是两组不同的SPI总线。</p></li></ol>
{| class="wikitable" style="width:800px;"
|-
|
<ol style="list-style-type: lower-alpha;">
<li><p>首先在'''/boot/extlinux/extlinux.conf'''中加上下面的配置</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>[orangepi@orangepi ~]$ '''sudo vim /boot/extlinux/extlinux.conf'''</p>
<p>LABEL Orange Pi</p>
<p>LINUX /Image</p>
<p>FDT /dtbs/rockchip/rk3588-orangepi-5-plus.dtb</p>
<p>'''<span style="color:#FF0000">FDTOVERLAYS /dtbs/rockchip/overlay/rk3588-spi0-m2-cs0-cs1-spidev.dtbo</span>'''</p>|}<p>上面红色字体演示的是打开'''spi0-m2并使用cs0和cs1引脚'''的配置,其他的配置如下表所示,将对应的dtbo配置添加到'''<span style="color:#FF0000">FDTOVERLAYS</span>'''后面即可。</p></li></ol>
</li></ol>
{| class="wikitable" style="width:800px;"
|-
| style="text-align: left;"| '''SPI总线'''
<ol start="2" style="list-style-type: lower-alpha;">
<li>然后'''<span style="color:#FF0000">重启OPi OS Arch系统</span>'''</li></ol>
<!-- -->
<ol start="4" style="list-style-type: decimal;">
<li><p>重启后进入系统先查看下linux系统中是否存在'''spidevx.x'''的设备节点,如果存在,说明SPI已经设置好了,可以直接使用。</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>[orangepi@orangepi ~]$ '''ls /dev/spidev*'''</p>
<p>/dev/spidev0.0 /dev/spidev0.1 /dev/spidev4.0 /dev/spidev4.1</p>
|}{| class="wikitable" style="background-color:#ffffdc;width:800px;" |-| <big><p>'''上面是打开spi0-m2-cs0-cs1-spidev和spi4-m1-cs0-cs1-spidev后显示的结果。'''</p></big>|}</li>
<li><p>然后先不短接SPI0或者SPI4的MOSI和MISO两个引脚,运行spidev_test的输出结果如下所示,可以看到TX和RX的数据不一致</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>[orangepi@orangepi ~]$ '''sudo spidev_test -v -D /dev/spidev4.0'''</p>
<p>'''或者'''</p>
<p>bits per word: 8</p>
<p>max speed: 500000 Hz (500 KHz)</p>
<p>TX | FF FF FF FF FF FF '''<span style="color:#FF0000">40 00 00 00 00 95</span>''' FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D | ......@.…▒..................▒.</p><p>RX | FF FF FF FF FF FF '''<span style="color:#FF0000">FF FF FF FF FF FF</span>''' FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | ............................….</p>|}</li>
<li><p>然后短接SPI0或者SPI4的MOSI和MISO两个引脚再运行spidev_test的输出如下,可以看到发送和接收的数据一样,说明SPI回环测试正常。</p>
{| class="wikitable" style="width:800px;"
|-
|
<p>[orangepi@orangepi ~]$ '''sudo spidev_test -v -D /dev/spidev4.0'''</p>
<p>'''或者'''</p>
<p>bits per word: 8</p>
<p>max speed: 500000 Hz (500 KHz)</p>
<p>TX | FF FF FF FF FF FF '''<span style="color:#FF0000">40 00 00 00 00 95</span>''' FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D | ......@.…▒..................▒.</p><p>RX | FF FF FF FF FF FF '''<span style="color:#FF0000">40 00 00 00 00 95</span>''' FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D | ......@.…▒..................▒.</p>|}</li></ol>
<span id="pin-i2c测试-2"></span>
=== 40 pin I2C测试 ===