#if CONFIG_FREERTOS_UNICORE
static const BaseType_t app_cpu=0;
#else
static const BaseType_t app_cpu=1;
#endif
static const int led_pin=2;
float delaytime=1000;
static TaskHandle_t task_1= NULL ;
static TaskHandle_t task_2= NULL ;
void startTask1(void *parameter)
{
while(1){
digitalWrite(led_pin, HIGH);
vTaskDelay(delaytime/ portTICK_PERIOD_MS);
digitalWrite(led_pin, LOW);
vTaskDelay(delaytime/ portTICK_PERIOD_MS);
}
}
void startTask2(void *parameter){
while(1){
if(Serial.available()>0)
{
delaytime=Serial.read();
}
Serial.println(delaytime);
vTaskDelay(1000/ portTICK_PERIOD_MS);
}
}
void setup() {
// put your setup code here, to run once:
pinMode(led_pin, OUTPUT);
Serial.begin(1000);
vTaskDelay(100/ portTICK_PERIOD_MS);
Serial.print("------wellcome to freertos------");
Serial.print("setup and loop task running on core");
Serial.println(xPortGetCoreID());
Serial.print("with periority");
Serial.println(uxTaskPriorityGet(NULL));
xTaskCreatePinnedToCore( startTask1,
"task 1",
1024,
NULL,
1,
&task_1,
app_cpu);
xTaskCreatePinnedToCore( startTask2,
"task 2",
1024,
NULL,
2,
&task_2,
app_cpu);
}
void loop() {
}