学物联网,来万物简单IoT物联网!!
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
id | int | Y | spi通道,可为1或2 |
baudrate | int | N | spi 波特率 |
polarity | int | N | spi极性 polarity是指 SCK 空闲时候的状态 |
phase | enum | N | spi相位 phase=0 表示SCK在第1个边沿开始取样 phase=1 表示SCK在第2个边沿开始取样 |
sck | object | Y | sck引脚对象 |
mosi | object | Y | mosi引脚对象 |
miso | object | Y | miso引脚对象 |
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
baudrate | int | N | spi 波特率 |
polarity | int | N | spi极性 polarity是指 SCK 空闲时候的状态 |
phase | enum | N | spi相位 phase=0 表示SCK在第1个边沿开始取样 phase=1 表示SCK在第2个边沿开始取样 |
sck | object | Y | sck引脚对象 |
mosi | object | Y | mosi引脚对象 |
miso | object | Y | miso引脚对象 |
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
size | int | Y | 读取指定字节长度数据 |
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
buffer | array[] | Y | 发送数据的缓冲区,期待发送的字节数为buffer的长度 |
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
buffer | array[] | Y | 读取数据并存放在缓冲区 |
参数 | 类型 | 必选参数? | 说明 |
---|---|---|---|
sendbuf | array[] | Y | 发送数据的存储数组,期待发送的字节数为sendbuf的长度。 |
recvbuf | array[] | Y | 接收数据的存储数组,期待接收的字节数为recvbuf的长度。 |
from machine import Pin, SoftSPI, SPI
# 软SPI创建对象
spi = SoftSPI(baudrate=100000, polarity=1, phase=0, sck=Pin(0), mosi=Pin(2), miso=Pin(4))
# 硬件SPI创建对象
spi = SPI(1, 10000000, sck=Pin(14), mosi=Pin(13), miso=Pin(12))
buf = bytearray(10) # 建立缓冲区
buf = spi.read(10) # 读取10字节数据
spi.readinto(buf) # 读取数据并存放在缓冲区 (这里读取10个字节)
spi.write(b'12345') # 在MOSI引脚上写5字节数据
sendbuf = bytearray(40) # 建立缓冲区
recvbuf = bytearray(40) # 建立缓冲区
spi.write_readinto(sendbuf, recvbuf) # 先发送再接收数据