#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() {
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
led1:A
led1:C