ESP32C3何时发布支持I2S的版本?
Posted: Tue Jul 06, 2021 8:06 am
目前使用ESP32-C3芯片开发音频产品,但目前V4.3版本不支持I2S接口. 预计什么时候可以发布支持I2S的版本?
相关BUG正在修复中最新master分支支持了i2s。但是在使用中发现以下两个问题:
1. 不支持SLAVE模式下的全双工
2. 不支持SLAVE模式下的MONO格式,只能STETEO
Code: Untitled.c Select all
if (p_i2s[i2s_num]->mode & I2S_MODE_RX) {
gpio_matrix_in_check_and_set(pin->ws_io_num, i2s_periph_signal[i2s_num].rx_ws_sig, 0);
gpio_matrix_in_check_and_set(pin->bck_io_num, i2s_periph_signal[i2s_num].rx_bck_sig, 0);
} else {
gpio_matrix_in_check_and_set(pin->ws_io_num, i2s_periph_signal[i2s_num].tx_ws_sig, 0);
gpio_matrix_in_check_and_set(pin->bck_io_num, i2s_periph_signal[i2s_num].tx_bck_sig, 0);
}
Code: Select all
void i2s_hal_tx_clock_config(i2s_hal_context_t *hal, uint32_t sclk, uint32_t fbck, int factor)
{
i2s_ll_clk_cal_t clk_set = {
.mclk_div = 1,
.bck_div = 1,
.a = 1,
.b = 0
};
i2s_ll_tx_set_clk(hal->dev, &clk_set);
}
void i2s_hal_rx_clock_config(i2s_hal_context_t *hal, uint32_t sclk, uint32_t fbck, int factor)
{
i2s_ll_clk_cal_t clk_set = {
.mclk_div = 1,
.bck_div = 1,
.a = 1,
.b = 0
};
i2s_ll_rx_set_clk(hal->dev, &clk_set);
}
至于第二个问题,mono模式还在确认用法中,后面版本会解决该问题最新master分支支持了i2s。但是在使用中发现以下两个问题:
1. 不支持SLAVE模式下的全双工
2. 不支持SLAVE模式下的MONO格式,只能STETEO