You are on page 1of 2

#include <Arduino_FreeRTOS.

h>
#include <task.h>
void Task_Print1(void *param);
void Task_Print2(void *param);
TaskHandle_t TaskHandle_1; TaskHandle_t TaskHandle_2;
int counter = 0;
void setup() {
Serial.begin(9600);
xTaskCreate(Task_Print1, "TASK1", 100, NULL, 3, &TaskHandle_1);
xTaskCreate(Task_Print2, "TASK2", 100, NULL, 1, &TaskHandle_2); }
void loop() { }
void Task_Print1( void *param) {
(void) param;
while(1) {
counter++;
Serial.println("Hello World from TASK1");
if ( counter == 5) {
vTaskSuspend(TaskHandle_1);
vTaskResume(TaskHandle_1);
}
vTaskDelay( 100 / portTICK_PERIOD_MS );
}
}
void Task_Print2( void *param) {
(void) param;
while(1) {
counter++;
Serial.println(" Dung TASK1");
if ( counter == 5){
//vTaskSuspend(TaskHandle_1);
vTaskResume(TaskHandle_2);
}
vTaskDelay( 500 / portTICK_PERIOD_MS );
}
}

You might also like