查看: 1277|回复: 0

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

[复制链接]
  • TA的每日心情
    慵懒
    昨天 21:11
  • 签到天数: 161 天

    连续签到: 9 天

    [LV.7]常住居民III

    发表于 2024-4-5 19:49:15 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 stm1024 于 2024-4-5 19:59 编辑

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

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


    53.jpg

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


    然后是在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*
    复制代码
    59.jpg

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

    展开看下:
    56.jpg


    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-22 00:26 , Processed in 0.119821 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.