完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
#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。 |
|
相关推荐
1个回答
|
|
您好,看起来您在使用ESP32开发板时遇到了I2S0和I2S1使用同一个管脚作为MCLK的问题。为了解决这个问题,您可以尝试以下步骤:
1. 首先,检查您的硬件设计,确保I2S0和I2S1的MCLK管脚没有冲突。如果可能的话,尝试使用不同的管脚。 2. 如果您无法更改硬件设计,您可以尝试修改软件配置。在您的代码中,您已经定义了I2S的GPIO管脚。您可以尝试为I2S1分配一个新的MCLK管脚,例如: ```c #define GPIO_I2S1_MCLK (GPIO_NUM_5) ``` 3. 在您的I2S初始化代码中,确保为I2S0和I2S1分别设置正确的MCLK管脚。例如: ```c i2s_config_t i2s_config = { .mode = I2S_MODE_MASTER | I2S_MODE_TX | I2S_MODE_RX, .sample_rate = 44100, .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT, .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT, .communication_format = I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB, .intr_alloc_flags = 0, .dma_buf_count = 8, .dma_buf_len = 1024, .use_apll = 0, }; i2s_config.mclk = 44100 * 32 * 2; // 设置I2S0的MCLK频率 i2s_driver_install(I2S_NUM_0, &i2s_config, 0, NULL); i2s_config.mclk = 44100 * 32 * 2; // 设置I2S1的MCLK频率 i2s_config.mck_io_num = GPIO_I2S1_MCLK; // 设置I2S1的MCLK管脚 i2s_driver_install(I2S_NUM_1, &i2s_config, 0, NULL); ``` 4. 重新编译您的代码,检查是否解决了编译错误。 5. 如果问题仍然存在,请检查您的开发环境和ESP-IDF版本,确保它们是最新的。有时候,编译错误可能是由于开发环境或库版本不兼容导致的。 希望这些建议能帮助您解决问题。如果您还有其他问题,请随时提问。 |
|
|
|
只有小组成员才能发言,加入小组>>
1118 浏览 1 评论
574浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
461浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 00:57 , Processed in 0.942889 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号