Skip to content
【MicroPython】machine.SPI类函数详解
- machine.SPI(id,baudrate=1000000, polarity=0, phase=0, bits=8, firstbit=SPI.MSB, sck=None, mosi=None, miso=None)
- SPI对象构造函数,作用为初始化对应通道和引脚
- id:使用SPI通道,可为0或者1
- baudrate: SPI通讯速率,也就是SCK引脚上的频率
- polarity:时钟极性,若为0则总线空闲时SCK输出低电平,反之则输出高电平。
- phase:时钟相位,若为0则在第一个时钟边缘捕获数据,反之则在第二个时钟边缘捕获数据。
- bits:每次传输的数据位数
- firstbit:先传输高位还是低位
- sck:SCK引脚,应为Pin对象
- mosi:MOSI引脚,应为Pin对象
- miso:MISO引脚,应为Pin对象
- sck、mosi和miso均为SPI使用的引脚,应为Pin对象
- SPI.init()
- SPI.deinit()
- SPI.read(nbytes,write=0x00)
- read函数,用于读取从设备数据并返回
- nbytes:读取字节数
- write:读取数据时,MOSI输出数据。
- SPI.readinto(buf,write=0x00)
- readinto函数,用于读取从设备数据并存入指定字符数组中。
- buf:字符数组,用于存放接收数据
- write:读取数据时,MOSI输出数据。
- SPI.write(buf)
- write函数,将字符数组写入从设备。
- buf:字符数组,用于存放传输数据
- SPI.write_readinto(write_buf, read_buf)
- write_readinto函数,用于同时发送和接收数据
- write_buf:字符数组,用于存放传输数据
- read_buf:字符数组,用于存放接收数据
- PS: 这里传输和接收数据的字符数组的长度要求一致。
例程地址
此文章仅针对RP2040 MicroPython固件,以源码为准,本文根据编写时官方源码编写,用于为初学者提供便利,仅供于参考,如有能力者建议自行查询MicroPython源码