结构体
app_spi_params_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
app_spi_id_t id |
设备类型 |
该参数的取值可以是下列值中的任意一个:
|
app_spi_pin_cfg_t pin_cfg |
引脚配置 |
参考app_spi_pin_cfg_t结构体 |
app_spi_dma_cfg_t dma_cfg |
模式设置 |
参考app_spi_dma_cfg_t结构体 |
spi_init_t init |
初始化结构体 |
参考spi_init_t结构体 |
bool is_soft_cs |
是否通过软件控制CS |
|
spi_env_t spi_env |
仅用于记录初始化设备的句柄、相关参数和信号量等,不需要配置 |
详细信息请参考文件:SDK_Folder\drivers\inc\app_spi.h。
app_spi_pin_cfg_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
app_spi_pin_t cs |
片选引脚配置 |
参考app_spi_pin_t结构体 |
app_spi_pin_t clk |
时钟引脚配置 |
参考app_spi_pin_t结构体 |
app_spi_pin_t mosi |
主输出从输入引脚配置 |
参考app_spi_pin_t结构体 |
app_spi_pin_t miso |
主输入从输出引脚配置 |
参考app_spi_pin_t结构体 |
详细信息请参考文件:SDK_Folder\drivers\inc\app_spi.h。
app_spi_pin_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
app_io_type_t type |
IO类型 |
同app_io_evt_t中描述 |
app_io_mux_t mux |
设置IO映射功能 |
参考app_io_init_t结构体,具体映射模式根据芯片Datasheet中的Pin Mux进行选择 |
uint32_t pin |
选择IO引脚 |
参考app_io_init_t结构体,具体根据芯片Datasheet中SPI资源进行选择 |
app_io_mode_t mode |
IO模式配置 |
APP_IO_MODE_MUX |
app_io_pull_t pull |
设置IO上拉/下拉/浮空 |
参考app_io_init_t结构体中描述 |
uint8_t enable |
使能/不使能引脚 |
|
详细信息请参考文件:SDK_Folder\drivers\inc\app_spi.h。
app_spi_dma_cfg_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
dma_regs_t * tx_dma_instance |
SPI TX指定DMA模块配置 |
GR5526:
具体选择参考app_dma_params_t章节中,DMA0/DMA1支持的外设。 GR551x:
|
dma_regs_t * rx_dma_instance |
SPI RX指定DMA模块配置 |
GR5526:
具体选择参考app_dma_params_t章节中,DMA0/DMA1支持的外设。 GR551x:
|
dma_channel_t tx_dma_channel |
SPI TX的DMA通道选择 |
同app_dma_params_t中通道描述 |
dma_channel_t rx_dma_channel |
SPI RX的DMA通道选择 |
同app_dma_params_t中通道描述 |
uint32_t wait_timeout_ms |
轮询和死机等待的超时时间,以ms为单位 (仅适用于GR5526) |
|
uint32_t extend | 扩展段(仅适用于GR5526) |
详细信息请参考文件:SDK_Folder\drivers\inc\app_spi.h。
spi_init_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
uint32_t data_size |
SPI数据大小 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t clock_polarity |
串行时钟有效极性 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t clock_phase |
位捕获的时钟活动边沿 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t baudrate_prescaler |
配置发送和接收SCK时钟波特率的预分频器值 |
取值范围:0 ~ 65534之间的偶数,如果是0,表示关闭clk。 分频值与波特率关系:clock rate = baudrate= peripheral CLK / baudrate_prescaler。 |
uint32_t ti_mode |
TI mode使能/不使能 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t slave_select |
指定选择的从设备 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t rx_sample_delay |
RX输入端口的采样延时,以系统外设时钟周期为单位(仅适用于GR5526) |
0 ~ 0x7 |
详细信息请参考文件:SDK_Folder\drivers\inc\hal\gr55xx_hal_spi.h。
app_spi_evt_t
结构体定义如下:
成员 | 描述 | 取值 |
---|---|---|
app_spi_evt_type_t type |
串口事件类型 |
该参数的取值可以是下列值中的任意一个:
|
union { uint32_t error_code; uint16_t size; }data; |
说明: 若事件类型为传输错误,此处返回错误ID; 若事件类型为接收/发送完成,此处显示已接收/发送的数据长度 |
SPI错误ID及对应含义如下:
|
详细信息请参考文件:SDK_Folder\drivers\inc\app_spi.h。