stm1024 发表于 2024-4-5 19:49:15

【树莓派5测评】 16.树莓派SPI测试(1)

本帖最后由 stm1024 于 2024-4-5 19:59 编辑

SPI也是很多点点taptap安卓之间的一种通讯模式,其基本知识这里就不再赘述了。树莓派上也带有SPI的接口,这次测试一下在树莓派5上使用SPI的方法。

1. 硬件连接
首先得首先,需要在raspi-config中打开SPI接口,这个在前面串口、I2C等提到过多次,不再专门截图了。
这里使用的硬件环境是树莓派的转接板,一个面板板,以及一个逻辑分析仪。
逻辑分析仪配置如下,然后将其与树莓派转接板连接起来,逻辑分析仪上的MISO和MOSI分别与树莓派上对应连接,此处树莓派是Master,逻辑分析仪是Slave,SCLK也要对应连接,最重要的是,一定要注意将逻辑分析仪的GND与树莓派的GND相连。



2. 软件环境
软件环境准备使用Python,然后对应的库是spidev,通常默认是安装的,如果没有,可以尝试安装一下:
sudo apt-get install python3-spidev如下图所示,这种情况是已经安装后的效果:


然后是在Geany编写代码:
from time import sleep
import spidev
from signal import pause

spi = spidev.SpiDev()
spi.open(0, 1)

spi.max_speed_hz = 1000
spi.mode = 0b00
to_send = range(0,256)
spi.xfer(to_send)
spi.close()
pause()
这里要说明一下open中的参数,首先官方手册中(https://pypi.org/project/spidev/)说明如下:
open(bus, device)其效果是:Connects to the specified SPI device, opening /dev/spidev<bus>.<device>

其中bus和device,我们可以通过如下方式查看:
ls /dev/spi*
可以看到,有两个spi设备,我们这里要用到的就是/dev/spidev0.1,所以bus是0,而device为1。
回到上述的代码,可以知道是在总线上发送0x00~0xff的字节,捕捉效果如下:

展开看下:


页: [1]
查看完整版本: 【树莓派5测评】 16.树莓派SPI测试(1)

Baidu
map