CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

接口函数

表 216 SPI驱动接口函数
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

表 217 app_spi_init接口
函数原型

uint16_t app_spi_init(app_spi_params_t *p_params, app_spi_evt_handler_t evt_handler)

功能说明

初始化SPI

输入参数
  • p_params:初始化参数的结构体指针
  • evt_handler:用户自己实现的中断回调函数
返回值

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

表 218 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

表 219 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轮询方式(同步)接收数据

输入参数
  • id:SPI主设备/从设备
  • p_data:接收数据的buffer
  • size:需要接收的数据长度,以Byte为单位
  • timeout:接收超时时间,以ms为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_spi_receive_async

表 220 app_spi_receive_async接口
函数原型

uint16_t app_spi_receive_async(app_spi_id_t id, uint8_t *p_data, uint16_t size)

功能说明

SPI中断方式(异步)接收数据

输入参数
  • id:SPI主设备/从设备
  • p_data:接收数据的buffer
  • size:需要接收的数据长度,以Byte为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_spim_receive_with_ia

表 221 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设备的读取操作

输入参数
  • id:SPI主设备/从设备
  • instruction:读取数据的指令
  • address:待读取数据的地址
  • dummy_bytes:设置SPI主设备从发送完数据读取地址到开始读取的间隔时间,给从设备进行数据就绪的时间,具体的间隔时间由从设备的指标来确定。取值范围:0 ~ 4,单位:Byte
  • p_data:需要接收的数据buffer
  • data_length:需要读取的数据长度,以Byte为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注 该函数仅适用于GR5526,超时时间默认1s,定义请见DEFAULT_POLLING_WAIT_TIMEOUT_MS

app_spim_transmit_with_ia

表 222 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设备进行数据写入操作

输入参数
  • id:SPI主设备
  • instruction:数据写入操作指令
  • address:数据写入从设备的地址
  • p_data:待写入数据的buffer
  • data_length:需要发送/写入的数据长度,以Byte为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注 该函数仅适用于GR5526

app_spi_transmit_sync

表 223 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轮询方式(同步)发送数据

输入参数
  • id:SPI主设备/从设备
  • p_data:需要发送的数据buffer指针
  • size:需要发送的数据长度,以Byte为单位
  • timeout:发送超时时间
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_spi_transmit_async

表 224 app_spi_transmit_async接口
函数原型

uint16_t app_spi_transmit_async(app_spi_id_t id, uint8_t *p_data, uint16_t size)

功能说明

SPI中断方式(异步)发送数据

输入参数
  • id:SPI主设备/从设备
  • p_data:需要发送的数据buffer指针
  • size:需要发送的数据长度,以Byte为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_spi_transmit_receive_sync

表 225 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以轮询方式(同步)进行全双工数据发送和接收

输入参数
  • id:SPI主设备/从设备
  • p_tx_data:发送数据的buffer
  • p_rx_data:接收数据的buffer
  • size:双工发送/接收的数据长度,以Byte为单位
  • timeout:超时时间,以ms为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_spi_transmit_receive_async

表 226 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以中断方式(异步)进行双工数据发送和接收

输入参数
  • id:SPI主设备/从设备
  • p_tx_data:发送数据的buffer
  • p_rx_data:接收数据的buffer
  • size:双工发送/接收的数据长度,以Byte为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_spi_read_eeprom_sync

表 227 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发送出去

输入参数
  • id:SPI主设备
  • p_tx_data:发送数据的buffer
  • p_rx_data:接收数据的buffer
  • tx_size:需要发送的数据长度,以Byte为单位
  • rx_size:需要接收的数据长度,以Byte为单位
  • timeout:读取超时时间
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_spi_read_eeprom_async

表 228 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发送出去

输入参数
  • id:SPI 主设备
  • p_tx_data:发送数据的buffer
  • p_rx_data:接收数据的buffe
  • tx_size:需要发送的数据长度,以Byte为单位
  • rx_size:需要接收的数据长度,以Byte为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注

app_spi_write_memory_async

表 229 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等

输入参数
  • id:SPI主设备
  • p_cmd_data:命令数据的buffer
  • p_tx_data:待写入数据的buffer
  • cmd_size:命令的长度,以Byte为单位
  • size:需要写入的数据长度,以Byte为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注 仅适用于GR551x

app_spi_read_memory_async

表 230 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等

输入参数
  • id:SPI主设备
  • p_cmd_data:命令数据的buffer指针
  • p_rx_data:读取数据的buffer指针
  • cmd_size:命令的长度,以Byte为单位
  • size:需要读取的数据长度,以Byte为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注 仅适用于GR551x

app_spi_get_handle

表 231 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

表 232 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中断方式(同步)高速发送数据,此函数关闭全局中断,避免高优先级中断的干扰

输入参数
  • id:SPI 主设备/从设备
  • p_data:需要发送数据的buffer
  • size:需要发送的数据长度,以Byte为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注 仅适用于GR551x

app_spi_receive_high_speed_sync

表 233 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中断方式(同步)高速接收数据,此函数关闭全局中断,避免高优先级中断的干扰

输入参数
  • id:SPI 主设备/从设备
  • p_data:接收数据的buffer
  • size:需要接收的数据长度,以Byte为单位
返回值

APP_DRV_xxx:详见SDK_Folder\drivers\inc\app_drv_error.h宏定义

备注 仅适用于GR551x

app_spi_abort

表 234 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事件,才表示中止传输完成

扫描关注

打开微信,使用“扫一扫”即可关注。