回答

收藏

[评测分享] 【树莓派5测评】 16.树莓派SPI测试(1)

#板卡评测 #板卡评测 2432 人阅读 | 0 人回复 | 2024-04-05

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

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

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



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


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

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

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

其中bus和device,我们可以通过如下方式查看:
  1. ls /dev/spi*
复制代码

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

展开看下:


分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条