| 1 | #include <Arduino.h> | 
|---|
| 2 |  | 
|---|
| 3 | #define LED1  15 | 
|---|
| 4 | #define LED2  17 | 
|---|
| 5 |  | 
|---|
| 6 | TaskHandle_t xHandle_1 = NULL; | 
|---|
| 7 |  | 
|---|
| 8 | void vBlink1Task(void * pvParameters){ | 
|---|
| 9 |   while(true){ | 
|---|
| 10 |     digitalWrite(LED1, !digitalRead(LED1)); | 
|---|
| 11 |     vTaskDelay(1000 / portTICK_PERIOD_MS); | 
|---|
| 12 |   } | 
|---|
| 13 | } | 
|---|
| 14 |  | 
|---|
| 15 | void vBlink2Task(void *pvParameters){ | 
|---|
| 16 |   int n = 0; | 
|---|
| 17 |   while(true){ | 
|---|
| 18 |     digitalWrite(LED2, !digitalRead(LED2)); | 
|---|
| 19 |     vTaskDelay(100 / portTICK_PERIOD_MS); | 
|---|
| 20 |     if(n++ > 50) { | 
|---|
| 21 |       digitalWrite(LED2, LOW); | 
|---|
| 22 |       vTaskDelete( xHandle_1 ); | 
|---|
| 23 |     } | 
|---|
| 24 |   } | 
|---|
| 25 | } | 
|---|
| 26 |  | 
|---|
| 27 | void setup() { | 
|---|
| 28 |   Serial.begin(115200); | 
|---|
| 29 |   pinMode(LED1, OUTPUT); | 
|---|
| 30 |   pinMode(LED2, OUTPUT); | 
|---|
| 31 |   xTaskCreate(vBlink1Task, "vBlink1Task", 1024, NULL, tskIDLE_PRIORITY, NULL); | 
|---|
| 32 |   xTaskCreate(vBlink2Task, "vBlink2Task", 1024, NULL, tskIDLE_PRIORITY+1, &xHandle_1); | 
|---|
| 33 |  | 
|---|
| 34 | } | 
|---|
| 35 |  | 
|---|
| 36 | void loop() { } | 
|---|