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

结构体

app_i2s_pin_t

结构体定义如下:

表 169 app_i2s_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中的Pin Mux

app_io_pull_t pull

设置IO上拉/下拉/浮空

app_io_init_t结构体中描述

详细信息请参考文件:SDK_Folder\drivers\inc\app_i2s.h

app_i2s_pin_cfg_t

结构体定义如下:

表 170 app_i2s_pin_cfg_t结构体成员
成员 描述 取值

app_i2s_pin_t ws

I2S WS引脚配置

参考app_i2s_pin_t结构体

app_i2s_pin_t sdo

I2S SDO引脚配置

参考app_i2s_pin_t结构体

app_i2s_pin_t sdi

I2S SDI引脚配置

参考app_i2s_pin_t结构体

app_i2s_pin_t sclk

I2S SCLK引脚配置

参考app_i2s_pin_t结构体

详细信息请参考文件:SDK_Folder\drivers\inc\app_i2s.h

app_i2s_dma_cfg_t

结构体定义如下:

表 171 app_i2s_dma_cfg_t结构体成员
成员 描述 取值

dma_reg_t *tx_dma_instance

I2S TX指定DMA模块配置

GR5526:
  • DMA1
GR551x:
  • DMA

dma_reg_t *rx_dma_instance

I2S RX指定DMA模块配置

GR5526:
  • DMA1
GR551x:
  • DMA

dma_channel_t tx_dma_channel

I2S TX的DMA通道选择

app_dma_params_t中通道描述

dma_channel_t rx_dma_channel

I2S RX的DMA通道选择

app_dma_params_t中通道描述

详细信息请参考文件:SDK_Folder\drivers\inc\app_i2s.h

app_i2s_params_t

结构体定义如下:

表 172 app_i2s_params_t结构体成员
成员 描述 取值

app_i2s_id_t id

设置使用的I2S模块ID

该参数的取值可以是下列值中的任意一个:
  • APP_I2S_ID_SLAVE(I2S Slave)
  • APP_I2S_ID_MASTER(I2S Mater)
  • APP_I2S_ID_MAX(I2S模块总个数,无其他用途)

app_i2s_pin_cfg_t pin_cfg

I2S引脚功能设置

参考app_i2s_pin_cfg_t结构体

app_i2s_dma_cfg_t dma_cfg

I2S DMA参数配置

参考app_i2s_dma_cfg_t结构体

i2s_init_t init

I2S初始化参数配置

参考i2s_init_t结构体

i2s_env_t i2s_env

仅用于记录初始化设备的句柄、相关参数和信号量等,不需要配置

详细信息请参考文件:SDK_Folder\drivers\inc\app_i2s.h

i2s_init_t

结构体定义如下:

表 173 i2s_init_t结构体成员
成员 描述 取值

uint32_t data_size

I2S数据位宽

该参数的取值可以是下列值中的任意一个:
  • I2S_DATASIZE_12BIT(12 bits)
  • I2S_DATASIZE_16BIT(16 bits)
  • I2S_DATASIZE_20BIT(20 bits)
  • I2S_DATASIZE_24BIT(24 bits)
  • I2S_DATASIZE_32BIT(32 bits)

uint32_t clock_source

I2S时钟源

该参数的取值可以是下列值中的任意一个:
  • I2S_CLOCK_SRC_96M(96 MHz)
  • I2S_CLOCK_SRC_64M(64 MHz)

    说明:

    仅适用于GR5526

  • I2S_CLOCK_SRC_32M(32 MHz)

uint32_t ws_cycles

I2S WS时钟长度

说明:

仅适用于GR5526

该参数的取值可以是下列值中的任意一个:
  • I2S_WS_CYCLES_16(16个BCLK时钟周期,代表传输16 bits的数据)
  • I2S_WS_CYCLES_24(24个BCLK时钟周期,代表传输24 bits的数据)
  • I2S_WS_CYCLES_32(32个BCLK时钟周期,代表传输32 bits的数据)

uint32_t audio_freq

I2S音频采样率,单位:Hz

最高96000(I2S_WS_CYCLES_16)

uint32_t channel_active

I2S激活通道(I2S_CHANNEL_NUM > 1)

暂不可用

详细信息请参考文件:SDK_Folder\drivers\inc\app_i2s.h

app_i2s_evt_t

结构体定义如下:

表 174 app_i2s_evt_t结构体成员
成员描述取值

app_i2s_evt_type_t type

I2S事件类型

该参数的取值可以是下列值中的任意一个:
  • APP_I2S_EVT_ERROR(I2S传输错误)
  • APP_I2S_EVT_TX_CPLT(I2S发送完成)
  • APP_I2S_EVT_RX_DATA(I2S接收完成)
  • APP_I2S_EVT_TX_RX(I2S发送接收完成)

union

{

uint32_t error_code;

uint16_t size;

}data;

  • uint32_t error_code:I2S事件返回的错误号
  • uint16_t size:I2S已接收/发送的数据长度

说明:

若事件类型为传输错误,此处返回错误号; 若事件类型为接收/发送完成,此处显示已接收/发送的数据长度

I2S错误号如下:
  • HAL_I2S_ERROR_NONE(无错误)
  • HAL_I2S_ERROR_TIMEOUT(操作超时)
  • HAL_I2S_ERROR_TRANSFER(传输中断错误)
  • HAL_I2S_ERROR_DMA(DMA传输错误)
  • HAL_I2S_ERROR_INVALID_PARAM(非法传参错误)

详细信息请参考文件:SDK_Folder\drivers\inc\app_i2s.h

扫描关注

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