【ESP32】2.多任务处理
1.用ESP_IDF打开blink工程
2.主函数while循环之前添加两行代码,添加两个任务:
void app_main(void)
{
uint8_t buffer[3] = {0x01,0x02,0x02};/* Configure the peripheral according to the LED type */configure_led();// 创建任务1xTaskCreate(task1, "Task1", 2048, NULL, 1, NULL);// 创建任务2xTaskCreate(task2, "Task2", 2048, NULL, 1, NULL);while (1) {// ESP_LOGI(TAG, "Turning the LED %s!", s_led_state == true ? "ON" : "OFF");// blink_led();/* Toggle the LED state */// s_led_state = !s_led_state;// vTaskDelay(CONFIG_BLINK_PERIOD / portTICK_PERIOD_MS);/// vTaskDelay(111 / portTICK_PERIOD_MS);// blink_led2();// vTaskDelay(111 / portTICK_PERIOD_MS);// printf("OKOK");// uart_write_bytes(1,buffer,1);}
}
3.编写两个任务函数:
void task1(void *pvParameter)
{while (1){printf("Task 1 is running\n");vTaskDelay(100 / portTICK_PERIOD_MS); }
}
// 第二个任务的函数
void task2(void *pvParameter)
{while (1){printf("Task 2 is running\n");vTaskDelay(200 / portTICK_PERIOD_MS);}
}
4.打开终端,可以看到串口打印,串口1、2都在运行。