在MCUSH的终端里,封装了若干个“spi”命令,它用GPIO模拟了SPI总线的控制信号,从而能在上位机手动或自动地控制外围模块。为什么是“若干个”?因为还有接口相同的“spi2”、“spi3”、“spi4”,用来同时控制多个模块。
首先复习一下SPI的4个控制信号,分别是CS片选、CLK时钟、MOSI主设备数据输出、MISO从设备数据输出。这里“spi”命令模拟的只是最常用的主设备,只能向外控制,于是MISO在这里改名为SDI,MOSI改名为SDO。
看一下语法帮助:
=>spi --help
usage: spi [-w ] [--delay=] [--sdi=] [--sdo=] [--sck=]
[--cs=] [-I] [-D] [-r] [--cpol] [--cpha] [--lsb]
options:
-w/--width default 8
--delay default 5
--sdi default 0.0
--sdo default 0.1
--sck default 0.2
--cs default 0.3
-I/--init init pins
-D/--deinit deinit pins
-r/--read print readout
--cpol clk polarity
--cpha clk phase
--lsb lsb first
value data
=>
有几个选项要特别注意:宽度:每次写入/读出的比特数,默认按8比特(单字节)写入,最多支持32比特。
比特位顺序:默认