0
点赞
收藏
分享

微信扫一扫

openfeign整合sentinel出现异常

SPI 介绍

  • 模块功能:
    SPI串行外设驱动

接口说明

SPI - 构建SPI对象

  • 函数原型:SPI(id, baudrate,polarity, phase,sck, mosi, miso)
  • 参数说明:
参数类型必选参数?说明
idintYspi通道,可为1或2
baudrateintNspi 波特率
polarityintNspi极性
polarity是指 SCK 空闲时候的状态
phaseenumNspi相位
phase=0 表示SCK在第1个边沿开始取样
phase=1 表示SCK在第2个边沿开始取样
sckobjectYsck引脚对象
mosiobjectYmosi引脚对象
misoobjectYmiso引脚对象
  • 返回值:
    构建的SPI对象。

SoftSPI - 构建软SPI对象

  • 函数原型:SoftSPI(baudrate,polarity, phase,sck, mosi, miso)
  • 参数说明:
参数类型必选参数?说明
baudrateintNspi 波特率
polarityintNspi极性
polarity是指 SCK 空闲时候的状态
phaseenumNspi相位
phase=0 表示SCK在第1个边沿开始取样
phase=1 表示SCK在第2个边沿开始取样
sckobjectYsck引脚对象
mosiobjectYmosi引脚对象
misoobjectYmiso引脚对象
  • 返回值:
    构建的软SPI对象。

read - 从SPI接收指定字节数的数据

  • 函数原型:read(size)
  • 参数说明:
参数类型必选参数?说明
sizeintY读取指定字节长度数据
  • 返回值:
    buffer - 读取的数据区,长度为参数size

write - 从SPI发送指定字节数的数据

  • 函数原型:write(buffer)
  • 参数说明:
参数类型必选参数?说明
bufferarray[]Y发送数据的缓冲区,期待发送的字节数为buffer的长度
  • 返回值:

readinto - 从SPI接收指定字节数的数据,并放在缓冲区

  • 函数原型:readinto(buffer)
  • 参数说明:
参数类型必选参数?说明
bufferarray[]Y读取数据并存放在缓冲区
  • 返回值:
    buffer - 读取的数据区,长度为参数size

write_readinto - SPI先发送数据再接收数据

  • 函数原型:write_readinto(sendbuf, recvbuf)
  • 参数说明:
参数类型必选参数?说明
sendbufarray[]Y发送数据的存储数组,期待发送的字节数为sendbuf的长度。
recvbufarray[]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) # 先发送再接收数据
举报

相关推荐

0 条评论