clk:SPI 时钟,从机模式则跟随主机。
port:SPI 硬件接口,数据手册的 SPI 的 spi_do、spi_di、spi_clk 即为标准的 MOSI、MISO、CLK。
SPI 1
port
spi_do
spi_di
spi_clk
A
PB7
PB5
PB6
B
PC10
PC8
PC9
SPI 2
port
spi_do
spi_di
spi_clk
A
PH1
PH2
PH0
B
USBDMA
PG15
IO_PORT_USB_DPA
mode:SPI_STD_MODE,默认的标准 spi 模式(mosi miso clk)。
attr:参数 1 主从模式:从机模式 SPI_MODE_SLAVE (默认0则主机模式)。参数 2 采样模式:SPI_SCLK_H_UPL_SMPH 为 CLK 空闲H高电平,上升沿更新数据,下降沿采样数据;其他采样如下,详情对应 CPU 下的 include_lib\driver\cpu\wl80\asm\spi.h 。
SPI_SCLK_H_UPH_SMPL
CLK空闲H,上升沿更新数据,下降沿采样数据
SPI_SCLK_H_UPL_SMPH
CLK空闲H,下降沿更新数据,上升沿采样数据
SPI_SCLK_H_UPH_SMPH
CLK空闲H,上升沿更新数据,上升沿采样数据
SPI_SCLK_H_UPL_SMPL
CLK空闲H,下降沿更新数据,下降沿采样数据
SPI_SCLK_L_UPH_SMPL
CLK空闲L,上升沿更新数据,下降沿采样数据
SPI_SCLK_L_UPL_SMPH
CLK空闲L,下降沿更新数据,上升沿采样数据
SPI_SCLK_L_UPH_SMPH
CLK空闲L,上升沿更新数据,上升沿采样数据
SPI_SCLK_L_UPL_SMPL
CLK空闲L,下降沿更新数据,下降沿采样数据
参数 3 单双向模式:SPI_UNIDIR_MODE 为单向:只用 SPI 的 DO 一根线数据传输(一般只用于作为从机只接收数据,或者只发送数据),SPI_BIDIR_MODE 为双向:用 SPI 的 DO/DI 两根线数据传输,从机单双向都可用(具体看实际应用)。