【问题标题】:Esp32 frequency error after reinstall arduino ide重装arduino ide后esp32频率错误
【发布时间】:2023-01-23 03:28:16
【问题描述】:

上周出于某种原因,我重新安装了我的膝盖和 arduino ide。我遇到的问题是,在重新安装之前编写的某些 esp 上运行良好的代码上,现在当我部署它时出现此错误。

这是一段代码:

const int PinCh1 = 13;
const int PinCh2 = 15;
const int freq = 5000;
const int Channel1 = 0;
const int Channel2 = 1;
const int resolution = 16;

ledcSetup(Channel1, freq, resolution);
ledcSetup(Channel2, freq, resolution);

这是错误:

E (76891) ledc: requested frequency and duty resolution can not be achieved, try reducing freq_hz or duty_resolution. div_param=63

第一次我认为我买的新 esp 有问题,但我拿了一个旧的,我只是在上面再次编写了该代码并得到了同样的错误。所以我几乎可以肯定这是我在 arduino ide 上安装的最后一个版本中的东西......我不知道我以前有什么......

对此有什么想法吗?

谢谢

【问题讨论】:

    标签: esp32 arduino-esp32


    【解决方案1】:

    是的,因为分辨率取决于您要生成的频率。对于更高的频率,您只能使用较低的分辨率。

    你将不得不改变这个 -

    常量分辨率 = 13;

    因为,5 kHz 可以具有 13 位的最大占空比分辨率。

    此表列出了一些常用频率及其最大分辨率。

    https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf#table.14.1

    请注意,最大分辨率和频率还取决于您使用的时间。在 LEDC 的 Arduino API 中,定时器的选择和其他定时器配置在后台处理。但是,您可以使用 3 个计时器,每个计时器都有自己的频率。

    表格上方有一个公式,您可以使用该公式计算所需频率的最大可用分辨率。

    【讨论】:

      猜你喜欢
      • 2021-10-22
      • 1970-01-01
      • 2021-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多