主要内容

使用树莓派SPI接口连接设备

这个例子展示了如何与SPI设备交换数据。

警告

过高的电压和电流会损坏树莓派™硬件。操作树莓派硬件和连接其他设备时,请遵守制造商的注意事项。有关更多信息,请参见https://www.raspberrypi.org/technical-help-and-resource-documents

创建到树莓派硬件的连接raspi

Mypi =树皮
mypi = raspberrypi with properties: DeviceAddress: 'raspberrypi-computername' Port: 18725 BoardName: 'Raspberry Pi Model B Rev 2' availableledds: {'led0'} AvailableDigitalPins: [4 7 8 9 10 11 14 15 17 18 22 23 24 25 27 30 31] AvailableSPIChannels:{}AvailableI2CBuses: {'i2c-0' 'i2c-1'} I2CBusSpeed: 100000支金宝app持的外设

默认情况下,SPI是禁用的,所以AvailableSPIChannels不显示任何通道。

启用SPI并获取通道。

enableSPI mypi (mypi)。AvailableSPIChannels
ans = 'CE0' 'CE1' '

显示SPI引脚的位置,例如Gpio 10 (spi0_sdo)Gpio 9 (spi0_sdi),Gpio 11 (spi0_sclk)在下面的插图中。

showPins (mypi)

在继续之前,请研究制造商的产品信息,以确定SPI设备支持哪些设置。金宝app

将树莓派硬件物理连接到一个或两个SPI设备。将SCLK、SDO和SDI引脚连接到SPI设备上的对应引脚。将树莓派硬件上的CE0引脚连接到一个SPI设备上的CE引脚。将树莓派硬件上的CE1引脚连接到其他SPI设备上的CE引脚。

创建到其中一个SPI设备的连接。

我的蜘蛛=蜘蛛(mypi,“CE1”
myspidevice = spidev with properties: Channel: 'CE1' Mode: 0 BitsPerWord: 8 Speed: 500000

SPI设备决定数据传输速度。树莓派硬件支持500 kHz到32 MHz的金宝app速度(myspidevice。speed由500000至32000000)

SPI是全双工。同时执行读或写操作writeRead.从SPI读取数据,发送虚值。若要将数据写入SPI,则丢弃它返回的数据。

out = writeRead(myspidevice,[hex2dec(08年的) hex2dec (“D4”)))
Out = 7 211

如果您不使用SPI,禁用SPI以使额外的GPIO引脚可用。

disableSPI (mypi)