SPI
SPI模块:你可以使用串行外设接口(SPI)总线与连接到板子的设备通讯。
SPI使用所谓的主从架构与单个主机。您将需要指定三个信号的连接:
- SCLK:串行时钟(从主机输出)。
- MOSI:主机输出,从机输入(从主机输出)。
- MISO:主机输入,从机输出(从从机输出)。
函数
microbit.spi.init(baudrate=1000000, bits=8, mode=0, sclk=pin13, mosi=pin15, miso=pin14)
通过指定参数初始化SPI的引脚。注意:为了正确的通信,两个通信设备上的参数必须相同。
baudrate
:通信的速度。
bits
:字节的发送大小,目前只支持bits=8。
mode
:时钟极性和相位的组合,根据下面的约定,极性为高阶位和相位为低阶位:
SPI Mode | Polarity(CPOL) | Phase(CPHA) |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
2 | 1 | 0 |
3 | 1 | 1 |
极性(也称CPOL)0表示空闲,时钟逻辑值为0,激活时逻辑值为1(高电平)。
极性1表示空闲,时钟逻辑值为1,激活时逻辑值为0(低电平)。
相位(也称CPHA)0表示数据在时钟的前沿采样,1表示后沿。
参考:https://en.wikipedia.org/wiki/Signal_edge
spi.read(nbytes)
读取最多nbytes字节,返回读取的内容。
spi.write(buffer)
将缓冲区中的字节写入总线。
spi.write_readinto(out,in)
将输出缓冲区写入总线,并将读取的内容写入接受缓冲区。缓冲区的长度应该相同。
缓冲区可以是同一个对象。