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

接口函数

表 179 I2S驱动接口函数
API 芯片
GR551x GR5526

app_i2s_init

Y

Y

app_i2s_deinit

Y

Y

app_i2s_receive_async

Y

Y

app_i2s_receive_sync

Y

Y

app_i2s_transmit_async

Y

Y

app_i2s_transmit_sync

Y

Y

app_i2s_transmit_receive_sync

Y

Y

app_i2s_transmit_receive_async

Y

Y

app_i2s_enable

Y

Y

app_i2s_disable

Y

Y

app_i2s_enable_clock

Y

Y

app_i2s_disable_clock

Y

Y

app_i2s_flush_tx_fifo

Y

Y

app_i2s_flush_rx_fifo

Y

Y

app_i2s_get_handle

Y

Y

app_i2s_abort

Y

Y

app_i2s_init

表 180 app_i2s_init接口
函数原型

uint16_t app_i2s_init(app_i2s_params_t *p_params, app_i2s_evt_handler_t evt_handler)

功能说明

初始化I2S

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

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

备注

回调函数形式参照typedef void (*app_i2s_evt_handler_t)(app_i2s_evt_t *p_evt);

HAL层已经实现中断标志位的清理,用户不用关心中断标志的清理,回调函数根据返回事件类型进行相应的处理即可。

app_i2s_deinit

表 181 app_i2s_deinit接口
函数原型

uint16_t app_i2s_deinit(app_i2s_id_t id)

功能说明

反初始化I2S

输入参数

id:I2S模块ID(参考app_i2s_id_t

返回值

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

备注

app_i2s_receive_sync

表 182 app_i2s_receive_sync接口
函数原型

uint16_t app_i2s_receive_sync(app_i2s_id_t id, uint16_t *p_data, uint16_t size, uint32_t timeout)

功能说明

I2S轮询方式(同步)接收数据

输入参数
  • id:I2S模块ID(参考app_i2s_id_t
  • p_data:接收数据的buffer
  • size:需要接收的数据长度,以半字(Half-Word)为单位
  • timeout:接收超时时间
返回值

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

备注

app_i2s_receive_async

表 183 app_i2s_receive_async接口
函数原型

uint16_t app_i2s_receive_async(app_i2s_id_t id, uint16_t *p_data, uint16_t size)

功能说明

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

输入参数
  • id:I2S模块ID (参考app_i2s_id_t
  • p_data:接收数据的buffer
  • size:需要接收的数据长度,以半字(Half-Word)为单位
返回值

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

备注 在RTOS睡眠模式下,有溢出风险,推荐使用DMA接口

app_i2s_transmit_sync

表 184 app_i2s_transmit_sync接口
函数原型

uint16_t app_i2s_transmit_sync(app_i2s_id_t id, uint16_t *p_data, uint16_t size, uint32_t timeout)

功能说明

I2S轮询方式(同步)发送数据

输入参数
  • id:I2S模块ID(参考app_i2s_id_t
  • p_data:需要发送的数据buffer指针
  • size:需要发送的数据长度,以半字(Half-Word)为单位
  • timeout:发送超时时间
返回值

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

备注

app_i2s_transmit_async

表 185 app_i2s_transmit_async接口
函数原型

uint16_t app_i2s_transmit_async(app_i2s_id_t id, uint16_t *p_data, uint16_t size)

功能说明

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

输入参数
  • id:I2S模块ID(参考app_i2s_id_t
  • p_data:接收数据的buffer
  • size:需要发送的数据长度,以半字(Half-Word)为单位
返回值

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

备注

从设备调用这个接口发送时,如果要发送的数据小于36个Half-Word的长度,不管是否发送成功都会进入发送完成中断

app_i2s_transmit_receive_sync

表 186 app_i2s_transmit_receive_sync接口
函数原型

uint16_t app_i2s_transmit_receive_sync(app_i2s_id_t id, uint16_t *p_tx_data, uint16_t *p_rx_data, uint32_t length, uint32_t timeout)

功能说明

I2S轮询方式(同步)发送接收数据

输入参数
  • id:I2S模块ID(参考app_i2s_id_t
  • p_tx_data:发送数据的buffer
  • p_rx_data:接收数据的buffer
  • length:需要接收的数据长度,以半字(Half-Word)为单位
  • timeout:接收超时时间
返回值

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

备注

仅适用于GR5526

app_i2s_transmit_receive_async

表 187 app_i2s_transmit_receive_async接口
函数原型

uint16_t app_i2s_transmit_receive_async(app_i2s_id_t id, uint16_t *p_tx_data, uint16_t *p_rx_data, uint32_t length)

功能说明

I2S使用中断方式(异步)发送接收数据

输入参数
  • id:I2S模块ID(参考app_i2s_id_t
  • p_tx_data:发送数据的buffer
  • p_rx_data:接收数据的buffer
  • length:需要接收的数据长度,以半字(Half-Word)为单位
返回值

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

备注
  • 仅适用于GR5526
  • 在RTOS睡眠模式下,有溢出风险,推荐使用DMA接口

app_i2s_enable

表 188 app_i2s_enable接口
函数原型

uint16_t app_i2s_enable(app_i2s_id_t id)

功能说明

使能I2S模块

输入参数

id:I2S模块ID(参考app_i2s_id_t

返回值

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

备注

app_i2s_disable

表 189 app_i2s_disable接口
函数原型

uint16_t app_i2s_disable(app_i2s_id_t id)

功能说明

禁能I2S模块

输入参数

id:I2S模块ID(参考app_i2s_id_t

返回值

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

备注

app_i2s_enable_clock

表 190 app_i2s_enable_clock接口
函数原型

uint16_t app_i2s_enable_clock(app_i2s_id_t id)

功能说明

使能I2S Clock,仅Master可使用

输入参数

id:I2S模块ID,参数只能传APP_I2S_ID_MASTER,否则会返回参数错误

返回值

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

备注

app_i2s_disable_clock

表 191 app_i2s_disable_clock接口
函数原型

uint16_t app_i2s_disable_clock(app_i2s_id_t id)

功能说明

禁能I2S Clock,仅Master可使用

输入参数

id:I2S模块ID,参数只能传APP_I2S_ID_MASTER,否则会返回参数错误

返回值

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

备注

app_i2s_flush_tx_fifo

表 192 app_i2s_flush_tx_fifo接口
函数原型

uint16_t app_i2s_flush_tx_fifo(app_i2s_id_t id)

功能说明

清除I2S写缓冲区

输入参数

id:I2S模块ID(参考app_i2s_id_t

返回值

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

备注

app_i2s_flush_rx_fifo

表 193 app_i2s_flush_rx_fifo接口
函数原型

uint16_t app_i2s_flush_rx_fifo(app_i2s_id_t id)

功能说明

清除I2S读缓冲区

输入参数

id:I2S模块ID(参考app_i2s_id_t

返回值

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

备注

app_i2s_get_handle

表 194 app_i2s_get_handle接口
函数原型

i2s_handle_t *app_i2s_get_handle(app_i2s_id_t id)

功能说明

获取I2S句柄

输入参数

id:I2S模块ID(参考app_i2s_id_t

返回值

I2S句柄指针

备注

app_i2s_abort

表 195 app_i2s_abort接口
函数原型

uint16_t app_i2s_abort(app_i2s_id_t id)

功能说明

中止I2S数据传输

输入参数

id:I2S模块ID(参考app_i2s_id_t

返回值

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

备注

扫描关注

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