02-freertos多任务电灯

首先安装一个idf  个人用的是小蚂蚁

vscode 搜索idf   

第一次安装  等了好久  梯子也没用   后面用的手机热点  很快就安装好了

 算了还是用arduino 把哈哈哈

首先点击文件添加esp32的库的json 地址  

https://dl.espressif.cn/dl/package_esp32_index.json

 

代码地址

FREERTOS-多任务点灯 - Wokwi Arduino and ESP32 Simulator

/*
  程序: FREERTOS - 多任务点灯程序实例
  作业: 添加LED3
  公众号:孤独的二进制
*/
void task1(void *pt) {
  pinMode(23, OUTPUT);
  while (1) {
    digitalWrite(23, !digitalRead(23));
    /*
      Tick to Time
        pdMS_TO_TICKS
        portTICK_PERIOD_MS
      vTaskDelay(pdMS_TO_TICKS(1000));
      vTaskDelay(1000/portTICK_PERIOD_MS);
    */
    vTaskDelay(1000); //注意 是 ticks的数量 不是时间
  }
}

void task2(void *pt) {
  pinMode(21, OUTPUT);
  while (1) {
    digitalWrite(21, !digitalRead(21));
    vTaskDelay(3000);
  }
}


void setup() {
  Serial.begin(9600);
  Serial.print("ESP32 Tick Period - ");
  Serial.print(portTICK_PERIOD_MS);
  Serial.println("ms");

  if (xTaskCreate(task1,
                  "Blink 23",
                  1024,
                  NULL,
                  1,
                  NULL) == pdPASS)
    Serial.println("Task1 Created.");

  if (xTaskCreate(task2,
                  "Blink 21",
                  1024,
                  NULL,
                  1,
                  NULL) == pdPASS)
    Serial.println("Task2 Created.");


}

void loop() {
}

 

 

 

 个人使用的是esp32s  安信可 

 

 

 

 

posted @ 2023-05-07 15:41  张喆坤  阅读(55)  评论(0编辑  收藏  举报