树莓派使用SPI与一片flask通信

首先,需要一块spi的flask芯片,我这里使用M25P80;按照引脚顺序连接到树莓派,在测试事前,确保你的spi是开启的,其他就不多说了。

开始干活:
python用于spi的包为spidev, 我使用的B+版本的树莓派是不用另行下载这个包的。简要介绍下里面的变量和函数:
具体参考官方文档,我会在下载中上传一份,大家可以在我的下载页面中下载.
属性
bits_per_word : 每个单词字节数
cshigh:片选信息,默认为False
lsbfirst: 大小端,默认为False
max_speed_hz:最大总线速度
mode:spi的工作模式,用来确定时钟和片选信号是上升还是下降沿开始读写,这个可能跟具体的芯片有关
函数
open(bus, device):打开设备,bus和device对应设备后面的数字:如图
spi设备
xfer([values]):向spi设备发送命令,这个函数返回一个列表,存放接收到的数据
xfer2([values]):与上面函数作用相同,但是,不同的是,xfer在当前片选引脚为高电平工作,xfer2在执行过程中将片选引脚保持低电平,在两次转换间让cs引脚保持为高电平。

向flask中读写数据
在写数据之前,看一下该芯片的协议:
0x06:写使能
0x02:写命令
0x05:写禁止
0x03: 读命令
0xD8 + 地址:指定扇区
0xC7: 擦除

python代码如下:
树莓派使用SPI与一片flask通信_第1张图片

显示结果:
这里写图片描述

代码中有一些打印参数的语句(前面几行,可以不要)

这里只是简单的一个通信过程,具体xfer2中传送的数据要根据设备的协议来定。

你可能感兴趣的:(Raspberry)