I2S0 和 I2S1 使用同一个管脚 for mclk. 出现编译错误。

ironchefincanada
Posts: 2
Joined: Fri May 03, 2024 1:30 am

I2S0 和 I2S1 使用同一个管脚 for mclk. 出现编译错误。

Postby ironchefincanada » Wed Jun 12, 2024 1:52 am

大家好,
#define FUNC_I2S_EN (1)
#define GPIO_I2S_LRCK (GPIO_NUM_26)
#define GPIO_I2S_MCLK (GPIO_NUM_0)
#define GPIO_I2S_SCLK (GPIO_NUM_27)
#define GPIO_I2S_SDIN (GPIO_NUM_36)
#define GPIO_I2S_DOUT (GPIO_NUM_NC)

/**
* @brief ESP32-KORVO-V1.1 I2S GPIO defination
*
*/
#define FUNC_I2S0_EN (1)
#define GPIO_I2S0_LRCK (GPIO_NUM_22)
#define GPIO_I2S0_MCLK (GPIO_NUM_0)
#define GPIO_I2S0_SCLK (GPIO_NUM_25)
#define GPIO_I2S0_SDIN (GPIO_NUM_NC)
#define GPIO_I2S0_DOUT (GPIO_NUM_13)

I2S0 和I2S1 使用同一管脚作为MCLK. 在编译时,出现错误。

E (342) esp_clock_output: esp_clock_output_start(188): Selected io is already mapped by another signal
E (342) i2s_common: i2s_check_set_mclk(755): mclk configure failed
E (352) i2s_std: i2s_std_set_gpio(162): mclk config failed
E (362) i2s_std: i2s_channel_init_std_mode(225): initialize channel failed while setting gpio pins
E (372) i2s_common: i2s_channel_enable(995): the channel has already enabled or not initialized
我使用的是Espressif-IDE。
谢谢任何的帮助。

weafon
Posts: 1
Joined: Thu Apr 24, 2025 2:04 am

Re: I2S0 和 I2S1 使用同一个管脚 for mclk. 出现编译错误。

Postby weafon » Thu Apr 24, 2025 2:11 am

我去年的code原本是會動的...但今年編譯也出現了一樣的錯誤
我剛試著做了底下粗體字的調整...
看起來編譯過了 mic and speaker也OK了
供你參考.

i2s_config_t i2s_config = {
....
.fixed_mclk = 0
};
i2s_config_t i2sOut_config = {
....
.fixed_mclk = 0
};
i2s_pin_config_t i2s_mic_pins = {
.bck_io_num = I2S_MIC_SERIAL_CLOCK,
.ws_io_num = I2S_MIC_LEFT_RIGHT_CLOCK,
.data_out_num = I2S_PIN_NO_CHANGE,
.data_in_num = I2S_MIC_SERIAL_DATA
};
i2s_pin_config_t i2s_spk_pins = {
.mck_io_num = -1,
.bck_io_num = I2S_SPK_SERIAL_CLOCK,
.ws_io_num = I2S_SPK_LEFT_RIGHT_CLOCK,
.data_out_num = I2S_SPK_SERIAL_DATA,
.data_in_num = I2S_PIN_NO_CHANGE
};

i2s_driver_install(I2S_NUM_0, &i2s_config, 0, NULL);
i2s_set_pin(I2S_NUM_0, &i2s_mic_pins);

i2s_driver_install(I2S_NUM_1, &i2sOut_config, 0, NULL);
i2s_set_pin(I2S_NUM_1, &i2s_spk_pins);
i2s_set_sample_rates(I2S_NUM_1, SAMPLE_RATE);

Who is online

Users browsing this forum: No registered users and 3 guests