咸鱼Micropython—SPI
SPI是Serial peripheral interface(串行外设接口)的简称,它也是一个通用的串行通信接口。无论从硬件还是软件上看,SPI和I2C都很类 似,只是它在物理层上需要三根数据线:SCK,MOSI,MISO。因为将数据的收发信号分开,所以SPI的速度比I2C更快,适合高速通信(普通 I2C设备的速率是100KB/s,高速设备的速率是400KB/s,少数设备支持 1MB/s;而 SPI 设备的速率一般至少是2MB/s,有些设备的速率可以达 到数十MB/s)。
class SPI – 主SPI驱动
主SPI驱动,物理层上需要三根数据线: SCK, MOSI, MISO.
构造函数
方法
-
SPI.init(mode, baudrate=1000000, *, polarity=0, phase=0, bits=8, firstbit=SPI.MSB, pins=(CLK, MOSI, MISO))
初始化 SPI 总线:
mode 必须是 SPI.MASTER.
baudrate 是 SCK 时钟频率.
polarity 可以是 0 或 1, 代表空闲时时钟电平.
phase 可以是 0 或 1, 代表采样数据时第一或第二时钟沿.
bits 是数据位, 只能是 8, 16 或 32.
firstbit 只能是 SPI.MSB.
pins 代表 SPI 总线使用的 GPIO 元组. -
SPI.deinit()
关闭 SPI. -
SPI.write(buf)
写入数据,然后实际写入数据数量。 -
SPI.read(nbytes, *, write=0x00)
读取数据到 nbytes 同时写入制定数据,返回读取数据的数量。 -
SPI.readinto(buf, *, write=0x00)
读取到缓冲区,同时写入制定数据,返回读取数据的数量。 -
SPI.write_readinto(write_buf, read_buf)
将 write_buf 写入SPI,同时读取到 read_buf。两个缓冲区的长度需要相同,返回实际写入数据的数量。
Constants
-
SPI.MASTER
初始化为主SPI模式 -
SPI.MSB
设置高位在前模式