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() { } |
---|