/**************************************************
Beispiel 2: Präemptives Multitasking
***************************************************/
//--------------------------------------------------
// Pin-Zuweisungen
#define PIN_LED_AMPEL_RECHTS_ROT 18
//--------------------------------------------------
void setup() {
Serial.begin(115200);
//---
// Funktion = Task_LED1
// Name = -
// Stackgrösse = 8192 Word
// Parameter = -
// Priorität = 2 (0..16 = low..high)
// Handle = -
// Core = 0 (0=Core 0, 1=Core 1)
xTaskCreatePinnedToCore(Task_LED1, NULL, 8192, NULL, 2, NULL, 0);
Serial.println("System gestartet...");
}
//--------------------------------------------------
void loop() {
Serial.println("Hallo vom Haupttask mit Prioritaet 1...");
delay(1000);
}
//--------------------------------------------------
void Task_LED1(void *pvParameters) {
//---
// setup
pinMode(PIN_LED_AMPEL_RECHTS_ROT, OUTPUT);
//---
// endlos loop
while (true) {
digitalWrite(PIN_LED_AMPEL_RECHTS_ROT, HIGH);
delay(500);
digitalWrite(PIN_LED_AMPEL_RECHTS_ROT, LOW);
delay(500);
}
}