/** * @brief This function configures some parameters of I2S interface for general purpose use. * @param[in] i2s The pointer of the specified I2S module. * @param[in] u32MasterSlave I2S operation mode. Valid values are: * - \ref I2S_MODE_MASTER * - \ref I2S_MODE_SLAVE * @param[in] u32SampleRate Sample rate * @param[in] u32WordWidth Data length. Valid values are: * - \ref I2S_DATABIT_8 * - \ref I2S_DATABIT_16 * - \ref I2S_DATABIT_24 * - \ref I2S_DATABIT_32 * @param[in] u32Channels Audio format. Valid values are: * - \ref I2S_MONO * - \ref I2S_STEREO * @param[in] u32DataFormat Data format. Valid values are: * - \ref I2S_FORMAT_I2S * - \ref I2S_FORMAT_MSB * - \ref I2S_FORMAT_PCM_A * - \ref I2S_FORMAT_PCM_B * @return Real sample rate. * @details This function will configure I2S controller according to the input parameters. Set TX and RX FIFO threshold to middle value. * The actual sample rate may be different from the target sample rate. The real sample rate will be returned for reference. * @note Both the TX and RX functions will be enabled. */ uint32_t I2S_Open(I2S_T *i2s, uint32_t u32MasterSlave, uint32_t u32SampleRate, uint32_t u32WordWidth, uint32_t u32Channels, uint32_t u32DataFormat)
时间: 2024-02-10 14:14:00 浏览: 93
这是一段用于配置I2S接口参数的函数,可以用于一般目的的I2S通信。其中,参数包括:
- i2s:指向特定I2S模块的指针;
- u32MasterSlave:I2S工作模式,可以是主模式或从模式;
- u32SampleRate:采样率;
- u32WordWidth:数据长度,可以是8位、16位、24位或32位;
- u32Channels:音频格式,可以是单声道或立体声;
- u32DataFormat:数据格式,可以是I2S、MSB、PCM_A或PCM_B。
该函数会根据输入参数配置I2S控制器,并将TX和RX FIFO阈值设置为中间值。实际采样率可能与目标采样率不同,函数会返回实际采样率以供参考。需要注意的是,该函数会同时启用TX和RX功能。
阅读全文