SPI

spi 模块允许您使用串行外设接口 (SPI) 总线与连接到您的电路板的设备进行通信。SPI 使用所谓的主从架构,只有一个主。您需要为三个信号指定连接:

  • SCLK : 串行时钟(主机输出)。
  • MOSI : 主输出,从输入(从主输出)。
  • MISO :主输入,从输出(从从输出)。

职能

microbit.spi.init(baudrate=1000000, bits=8, mode=0, sclk=pin13, mosi=pin15, miso=pin14)

用指定的参数初始化 SPI 通信pins。请注意,为了正确通信,两个通信设备上的参数必须相同。

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 表示在后沿采样(即https://en.wikipedia.org/wiki/Signal_edge)。

sclk, mosi 并且 miso 用来确定销用于每个类型的信号。

spi.read(nbytes)

至多阅读 nbytes。返回读取的内容。

spi.write(buffer)

buffer 字节写入总线。

spi.write_readinto(out, in)

out 缓冲区写入总线并将任何响应读入in 缓冲区。缓冲区的长度应该相同。缓冲区可以是同一个对象。