Raspberry 4B+ 的SPI发送示波器测试

  1. 环境:
    树莓派4B+
    示波器
  2. 准备工作:
    (1) GPIO引脚定义图如下所示:
    在这里插入图片描述
    (2) 使用远程桌面连接树莓派,如下图:
    在这里插入图片描述
    (3) 使用示波器的Ch1 Ch2分别连接SCLK(23)、MOSI(19),示波器的GND引脚为25.
    (4) 在mu环境中安装对应工具包spidev,安装方法使用命令“pip install spidev”,如下所示:
    在这里插入图片描述
    安装完成后,在Python中通过import可以使用。

3.SPIDEV的函数介绍如下:

(1)open(bus, device)
连接到指定的spi设备,可打开的设备 /dev/spidev.
在树莓派上使能spi之后,会在/dev目录下看到/dev/spi0.0和/dev/spi0.1
如下图
在这里插入图片描述
(2)readbytes(n)
从SPI设备中读取n个字节

(3)writebytes(list of values)
向SPI设备中写入数据

(4)writebytes2(list of values)
功能和writebytes是相似的,如果values过长,超过/sys/module/spidev/parameters/bufsiz定义的字节,原始的values则会被分割为多块,并且分多次发送。并且这里的values也能接受byte array,不一定要要转化为list也可使用。在进行图像传输的时候这里会方便很多。

(5)xfer(list of values[, speed_hz, delay_usec, bits_per_word])
执行一次spi传输,并且在此期间,两个block的clk之间cs管脚会被释放并且重新激活。中间的delay以us为单位。
这是什么意思呢,用逻辑分析仪抓一下就知道了,这里执行了两次传输,中间cs被释放拉高。当金星传输的时候,cs再次被拉低。
在这里插入图片描述
(6)xfer2(list of values[, speed_hz, delay_usec, bits_per_word])
执行一次SPI传输,但是片选始终被拉低在两次传输之间。
在这里插入图片描述

在这里插入图片描述

(7)xfer3(list of values[, speed_hz, delay_usec, bits_per_word])
功能和xfer2相似,但是在list的长度大于/sys/module/spidev/parameters/bufsiz时会被分割成许多块,然后多次发送。

(8)close()
断开和spi设备的连接

4.spi属性
(1) bits_per_word
(2) cshigh
(3) loop
(4) no_cs
(5) lsb_first
(6) max_speed_hz
(7) mode
spi的四种工作模式 Mode 0 CPOL=0, CPHA=0 —>对应到这里 0b00 Mode 1 CPOL=0, CPHA=1 —>对应到这里 0b01 Mode 2 CPOL=1, CPHA=0 —>对应到这里 0b10 Mode 3 CPOL=1, CPHA=1 —>对应到这里 0b11
(8) threewire
三线的SPI
(9) SPI通信速率:
在这里插入图片描述

5.Python代码如下:

import spidev
import time
spi = spidev.SpiDev()
spi.open(0, 0)
print(spi.mode)
spi.max_speed_hz =7629
def write_pot(input):
    msb = input >> 8
    lsb = input & 0xFF
    print([msb, lsb])
    # spi.xfer([msb, lsb])
    spi.xfer([msb,lsb,msb,lsb,msb,lsb])
while 1 :
    write_pot(65535)
    time.sleep(1)

6.Python代码如下:
在这里插入图片描述

Raspberry Pi 4B可以安装Ubuntu系统。你可以从官方网站上下载最新的Ubuntu 20.04版本,官方下载链接为https://ubuntu.com/download/raspberry-pi。如果你需要之前的版本18.04.4,你可以在百度网盘上找到相应的镜像包,链接为https://pan.baidu.com/s/1。在安装Ubuntu系统时,默认的用户名和密码都是"ubuntu"。你可以按照引用提供的步骤更改密码。接着,你可以按照引用提供的步骤安装桌面版Ubuntu。首先,执行"sudo apt-get update"和"sudo apt-get upgrade"命令来更新系统。然后重启系统。接下来执行命令"sudo apt-get install ubuntu-desktop"来安装桌面环境。如果安装错误,你可以执行"sudo apt-get update --fix-missing"和"sudo apt-get install ubuntu-desktop"来修复错误。最后重启系统,就可以显示桌面了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [树莓派4B使用ubuntu-18.04.4-server 64位系统配置](https://download.csdn.net/download/weixin_38744270/14049899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [树莓派4B安装ubuntu18.04+ROS一条龙教程(手把手,新手推荐)](https://blog.csdn.net/DerryJun/article/details/127345508)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值