接口函数
API | 芯片 | |
---|---|---|
GR551x | GR5526 | |
app_spi_init |
Y |
Y |
app_spi_deinit |
Y |
Y |
app_spi_receive_async |
Y |
Y |
app_spi_receive_sync |
Y |
Y |
app_spim_transmit_with_ia |
N |
Y |
app_spim_receive_with_ia |
N |
Y |
app_spi_transmit_sync |
Y |
Y |
app_spi_transmit_async |
Y |
Y |
app_spi_transmit_receive_sync |
Y |
Y |
app_spi_transmit_receive_async |
Y |
Y |
app_spi_read_eeprom_sync |
Y |
Y |
app_spi_read_eeprom_async |
Y |
Y |
app_spi_write_memory_async |
Y |
N |
app_spi_read_memory_async |
Y |
N |
app_spi_get_handle |
Y |
Y |
app_spi_transmit_high_speed_sync |
Y |
N |
app_spi_receive_high_speed_sync |
Y |
N |
app_spi_abort |
Y |
Y |
app_spi_init
函数原型 |
uint16_t app_spi_init(app_spi_params_t *p_params, app_spi_evt_handler_t evt_handler) |
---|---|
功能说明 |
初始化SPI |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
回调函数形式参照typedef void (*app_spi_evt_handler_t)(app_spi_evt_t *p_evt); HAL层已经实现中断标志位的清理,用户不用关心中断标志的清理。 |
app_spi_deinit
函数原型 |
uint16_t app_spi_deinit(app_spi_id_t id) |
---|---|
功能说明 |
反初始化SPI |
输入参数 |
id:SPI主设备/从设备 |
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_spi_receive_sync
函数原型 |
uint16_t app_spi_receive_sync(app_spi_id_t id, uint8_t *p_data, uint16_t size, uint32_t timeout) |
---|---|
功能说明 |
SPI轮询方式(同步)接收数据 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_spi_receive_async
函数原型 |
uint16_t app_spi_receive_async(app_spi_id_t id, uint8_t *p_data, uint16_t size) |
---|---|
功能说明 |
SPI中断方式(异步)接收数据 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_spim_receive_with_ia
函数原型 |
uint16_t app_spim_receive_with_ia(app_spi_id_t id, uint8_t instruction, uint32_t address, uint8_t dummy_bytes, uint8_t * p_data, uint16_t data_length) |
---|---|
功能说明 |
SPI主设备带指令和地址的轮询方式(同步)数据读取接口,主要用于对Flash/EEPROM/Display设备的读取操作 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 该函数仅适用于GR5526,超时时间默认1s,定义请见DEFAULT_POLLING_WAIT_TIMEOUT_MS |
app_spim_transmit_with_ia
函数原型 |
uint16_t app_spim_transmit_with_ia(app_spi_id_t id, uint8_t instruction, uint32_t address, uint8_t * p_data, uint16_t data_length) |
---|---|
功能说明 |
SPI主设备带指令和地址的轮询方式(同步)数据写入接口,主要用于对Flash/EEPROM/Display设备进行数据写入操作 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 该函数仅适用于GR5526 |
app_spi_transmit_sync
函数原型 |
uint16_t app_spi_transmit_sync(app_spi_id_t id, uint8_t *p_data, uint16_t size, uint32_t timeout) |
---|---|
功能说明 |
SPI轮询方式(同步)发送数据 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_spi_transmit_async
函数原型 |
uint16_t app_spi_transmit_async(app_spi_id_t id, uint8_t *p_data, uint16_t size) |
---|---|
功能说明 |
SPI中断方式(异步)发送数据 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_spi_transmit_receive_sync
函数原型 |
uint16_t app_spi_transmit_receive_sync(app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t size, uint32_t timeout) |
---|---|
功能说明 |
SPI以轮询方式(同步)进行全双工数据发送和接收 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_spi_transmit_receive_async
函数原型 |
uint16_t app_spi_transmit_receive_async(app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t size) |
---|---|
功能说明 |
SPI以中断方式(异步)进行双工数据发送和接收 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_spi_read_eeprom_sync
函数原型 |
uint16_t app_spi_read_eeprom_sync(app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t tx_size, uint32_t rx_size, uint32_t timeout) |
---|---|
功能说明 |
SPI轮询方式(同步)读取EEPROM特定内存地址数据,在读取之前按照EEPROM的协议格式把要读取的起始地址通过tx_data发送出去 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_spi_read_eeprom_async
函数原型 |
uint16_t app_spi_read_eeprom_async(app_spi_id_t id, uint8_t *p_tx_data, uint8_t *p_rx_data, uint32_t tx_size, uint32_t rx_size) |
---|---|
功能说明 |
SPI中断方式(异步)读取EEPROM特定内存地址数据,在读取之前按照EEPROM的协议格式把要读取的起始地址通过tx_data发送出去 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 |
app_spi_write_memory_async
函数原型 |
uint16_t app_spi_write_memory_async(app_spi_id_t id, uint8_t *p_cmd_data, uint8_t *p_tx_data, uint32_t cmd_size, uint32_t tx_size) |
---|---|
功能说明 |
SPI中断方式(异步)写入数据到Memory,在写入之前先发送命令,主要用于读写存储设备,比如Flash等 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 仅适用于GR551x |
app_spi_read_memory_async
函数原型 |
uint16_t app_spi_read_memory_async(app_spi_id_t id, uint8_t *p_cmd_data, uint8_t *p_rx_data, uint32_t cmd_size, uint32_t rx_size) |
---|---|
功能说明 |
SPI中断方式(异步)读取Memory数据,在读取之前先发送命令,主要用于读写存储设备,比如Flash等 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 仅适用于GR551x |
app_spi_get_handle
函数原型 |
spi_handle_t *app_spi_get_handle(app_spi_id_t id) |
---|---|
功能说明 |
获取SPI句柄 |
输入参数 |
id:SPI模块ID(见app_spi_id_t枚举) |
返回值 |
SPI句柄指针 |
备注 |
app_spi_transmit_high_speed_sync
函数原型 |
uint16_t app_spi_transmit_high_speed_sync(app_spi_id_t id, uint8_t *p_data, uint16_t size) |
---|---|
功能说明 |
SPI中断方式(同步)高速发送数据,此函数关闭全局中断,避免高优先级中断的干扰 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 仅适用于GR551x |
app_spi_receive_high_speed_sync
函数原型 |
uint16_t app_spi_receive_high_speed_sync(app_spi_id_t id, uint8_t *p_data, uint16_t size) |
---|---|
功能说明 |
SPI中断方式(同步)高速接收数据,此函数关闭全局中断,避免高优先级中断的干扰 |
输入参数 |
|
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 仅适用于GR551x |
app_spi_abort
函数原型 |
uint16_t app_spi_abort(app_spi_id_t id) |
---|---|
功能说明 |
SPI中止传输(发送/接收) |
输入参数 |
id:SPI主设备/从设备 |
返回值 |
APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义 |
备注 | 需要等到APP_SPI_EVT_ABORT事件,才表示中止传输完成 |