使用 ESP32 芯片如何设置 1ms 延时

  • vTaskDelay(1 / portTICK_PERIOD_MS) 默认设置的是 100 Hz 的 Tick rate, 该默认设置最小是 10ms , 如下配置
    使用 ESP32 芯片如何设置 1ms 延时_第1张图片

若 Tick rate 设置为 1000 HZ,这样 tick 就是 1 ms 。此时可以使用 vTaskDelay(1/period_ms) 测试延时 1 ms 。但频率增高的话,中断的 overhead 也会变大。

  • 若对功耗或者 CPU 时间要求不是很高的情况下,建议使用 ets_delay_us(1000); 函数来设置 1 ms 的延时。
  • 若对精度要求高,建议使用硬件定时器来进行延时,文档说明参见“High Resolution Timer (ESP Timer)” ;对应例程可参考 esp-idf/examples/peripherals/timer_group

你可能感兴趣的:(ESP,应用需求实现,需求分析)