void delay_task(void *params){
  while(1){
    // 程序将做一些其他的事情
    TickType_t begin = xTaskGetTickCount();
    uint32_t i = random(0xFFF,0xFFFF);
    while(i>0){
      i--;
    }
    TickType_t end = xTaskGetTickCount();
    printf("当前时间:%d\n", end);
    // 开始延时
    vTaskDelay(pdMS_TO_TICKS(1000-(end-begin)));
  }
}

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  Serial.println("Hello, ESP32-S3!");

  xTaskCreate(delay_task, "DELAY", 10240, NULL, 1, NULL);
  vTaskDelete(NULL);
}

void loop() {
}
Loading
esp32-s3-devkitc-1