I2S

更新时间:2019-01-31 12:10:30

接口列表

函数名称 功能描述
hal_i2s_init 初始化指定I2S端口
hal_i2s_send 从指定的I2S端口发送数据
hal_i2s_recv 从指定的I2S端口接收数据
hal_i2s_pause 暂停指定的I2S端口
hal_i2s_resume 恢复指定的I2S端口
hal_i2s_stop 停止指定的I2S端口
hal_i2s_finalize 关闭指定I2S端口

接口详情

int32_t hal_i2s_init(i2s_dev_t *i2s)

描述 初始化指定I2S端口
参数 i2s:I2S设备描述,定义需要初始化的I2S参数
返回值 返回成功或失败, 返回0表示I2S初始化成功,非0表示失败

int32_t hal_i2s_send(i2s_dev_t *i2s, const void *data, uint32_t size, uint32_t timeout)

描述
从指定的I2S端口发送数据
参数
i2s:I2S设备描述
data:指向发送缓冲区的数据指针
size:要发送的数据字节数
timeout:超时时间(单位ms),如果希望一直等待设置为HAL_WAIT_FOREVER
返回值
返回成功或失败, 返回0表示I2S数据发送成功,非0表示失败

int32_t hal_i2s_recv(i2s_dev_t *i2s, void *data, uint32_t size, uint32_t timeout)

描述
从指定的I2S端口接收数据
参数
i2s:I2S设备描述
data:指向接收缓冲区的数据指针
size:期望接收的数据字节数
timeout:超时时间(单位ms),如果希望一直等待设置为HAL_WAIT_FOREVER
返回值
返回成功或失败, 返回0表示成功接收size个数据,非0表示失败

int32_t hal_i2s_pause(i2s_dev_t *i2s)

描述 暂停指定I2S端口
参数 i2s:I2S设备描述
返回值 返回成功或失败, 返回0表示暂停成功,非0表示失败

int32_t hal_i2s_resume(i2s_dev_t *i2s)

描述 恢复指定I2S端口
参数 i2s:I2S设备描述
返回值 返回成功或失败, 返回0恢复成功,非0表示失败

int32_t hal_i2s_stop(i2s_dev_t *i2s)

描述 停止指定I2S端口
参数 i2s:I2S设备描述
返回值 返回成功或失败, 返回0表示停止成功,非0表示失败

int32_t hal_i2s_finalize(i2s_dev_t *i2s)

描述 关闭指定I2S端口
参数 i2s:I2S设备描述
返回值 返回成功或失败, 返回0表示关闭成功,非0表示失败

相关结数据结构

i2s_dev_t

typedef struct {
    uint8_t      port;   /* i2s port */
    i2s_config_t config; /* i2s config */
    void        *priv;   /* priv data */
} i2s_dev_t;

i2s_config_t

typedef struct {
    uint32_t              freq;         /* I2S communication frequency */
    hal_i2s_mode_t        mode;         /* I2S operating mode */
    hal_i2s_std_t         standard;     /* I2S communication standard */
    hal_i2s_data_format_t data_format;  /* I2S communication data format */
} i2s_config_t;

hal_i2s_mode_t

typedef enum {
    MODE_SLAVE_TX,
    MODE_SLAVE_RX,
    MODE_MASTER_TX,
    MODE_MASTER_RX
} hal_i2s_mode_t;

hal_i2s_std_t

typedef enum {
    STANDARD_PHILIPS,
    STANDARD_MSB,
    STANDARD_LSB,
    STANDARD_PCM_SHORT,
    STANDARD_PCM_LONG
} hal_i2s_std_t;

hal_i2s_data_format_t

typedef enum {
    DATAFORMAT_16B,
    DATAFORMAT_16B_EXTENDED,
    DATAFORMAT_24B,
    DATAFORMAT_32B
} hal_i2s_data_format_t;

results matching ""

    No results matching ""