SPI
spi 模块让你通过串行外设接口(SPI)总线与连接到 micro:bit 的设备通信。SPI 采用主从架构,只有一个主设备。你需要为三种信号指定连接:
- SCLK:串行时钟(主设备输出)。
- MOSI:主出从入(主设备输出)。
- MISO:主入从出(从设备输出)。
函数
init(baudrate=1000000, bits=8, mode=0, sclk=pin13, mosi=pin15, miso=pin14)
在指定 pins 上以给定参数初始化 SPI 通信。注意:正确通信时,双方参数必须一致。
baudrate 定义通信速度。
bits 定义传输字节大小。当前仅支持 bits=8,未来可能改变。
mode 根据以下约定确定时钟极性与相位的组合,极性为高阶位,相位为低阶位:
| SPI 模式 | 极性(CPOL) | 相位(CPHA) |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 0 | 1 |
| 2 | 1 | 0 |
| 3 | 1 | 1 |
极性(CPOL)0 表示空闲时时钟为逻辑 0,激活时变高(逻辑 1);极性 1 表示空闲时为逻辑 1,激活时变低(逻辑 0)。相位(CPHA)0 表示在时钟前沿采样数据,1 表示在后沿采样(参见 信号边沿)。
sclk、mosi 和 miso 参数指定各类信号使用的引脚。
read(nbytes, out=0)
读取最多 nbytes 字节,同时持续写入 out 指定的单字节。返回读取的内容。
write(buffer)
将 buffer 字节写入总线。
write_readinto(out, in)
将 out 缓冲区写入总线,并将响应读入 in 缓冲区。两缓冲区长度应相同,可以是同一对象。