编译 ESP32S3 时出现“I2S_MODE_DAC_BUILT_IN”未在此范围内声明错误

问题描述 投票:0回答:1

我正在尝试制作一个 AM 发射器,保留 this github repo 作为参考

void setup() 
{
  Serial.begin(115200);
  setCpuFrequencyMhz(240);                              //highest cpu frequency
  i2s_driver_install(i2s_num, &i2s_config, 0, NULL);    //start i2s driver
  i2s_set_pin(i2s_num, NULL);                           //use internal DAC
  i2s_set_sample_rates(i2s_num, 1000000);               //dummy sample rate, since the function fails at high values

  //this is the hack that enables the highest sampling rate possible ~13MHz
  SET_PERI_REG_BITS(I2S_CLKM_CONF_REG(0), I2S_CLKM_DIV_A_V, 1, I2S_CLKM_DIV_A_S);
  SET_PERI_REG_BITS(I2S_CLKM_CONF_REG(0), I2S_CLKM_DIV_B_V, 1, I2S_CLKM_DIV_B_S);
  SET_PERI_REG_BITS(I2S_CLKM_CONF_REG(0), I2S_CLKM_DIV_NUM_V, 2, I2S_CLKM_DIV_NUM_S); 
  SET_PERI_REG_BITS(I2S_SAMPLE_RATE_CONF_REG(0), I2S_TX_BCK_DIV_NUM_V, 2, I2S_TX_BCK_DIV_NUM_S); 
}

ESP32-S3 出现编译错误,但 ESP32 确实通过编译。我正在使用 Arduino-IDE。

esp32 arduino-ide arduino-c++ arduino-esp32
1个回答
0
投票
ESP32-S3 没有定义

I2S_MODE_DAC_BUILT_IN
,因为 ESP32-S3 没有 DAC。原来的 ESP32 就是这样。您可以通过阅读 ESP32-S3 数据表 来验证这一点 - 虽然数据表没有列出哪些硬件设备没有,但您会发现没有提及 DAC。

您需要使用具有 DAC 的不同 CPU,或者重新设计 I2S 输出的方式。

© www.soinside.com 2019 - 2024. All rights reserved.