[ESP8266] Zweck von procTask ?

Gast #4057819
Lesenswert?

Guten Abend alle miteinander,

Ich bin grade dabei mich in die Programmierung auf dem ESP reinzufuchsen 
und komm eigtl. auch ganz gut damit klar. Ein Element bereitet mir aber 
etwas Kopfzerbrechen: Jede Applikation bastelt irgendwas mit procTask 
rum, aber macht, dann in der zugehörigen Funktion oft garnichts (oder 
nur ein warten).
Das Manual sagt zu system_os_task nur ganz platt: "Set up tasks" .
Das ganze scheint irgendwie auf eine asynchrone Verarbeitung 
rauszulaufen (man kann mit system_os_post "messages" an task senden).
Irgendwie wird aber an jedes Stückchen der API trotzdem gesondert ein 
Callback gehängt.
Irgendwie ist das also für alle offensichtlich nur ich blick das nicht.
Was mache ich also mit so einem Task ?
Läuft der als Endlosschleife oder wird der durch irgendwelche events 
aktiv ?
Muss ich so einen Task basteln damit überhaupt etwas läuft ?

Danke für eure Antworten,
Max
Gast #4057841
Lesenswert?

Auch hier:
1
static void ICACHE_FLASH_ATTR procTask(os_event_t *events)
2
{
3
    system_os_post(procTaskPrio, 0, 0 );
4
    printf( "Idle Task\n" );
5
}
6

7

8
void user_init(void)
9
{
10
    system_os_task(procTask, procTaskPrio, procTaskQueue, procTaskQueueLen);
11
    system_os_post(procTaskPrio, 0, 0 );
12
}
Also anscheinend läuft der Task einmal durch wenn er ein event kriegt 
(sonst würde "system_os_post(procTaskPrio, 0, 0 );" im task selber wenig 
sinn geben).
Bleibt die Frage: Hat man immer nur einen task (weil ich sehe keine 
wirkliche methode mehrere Tasks zu unterscheiden)? Läuft der Task auch 
an wenn im System was passiert ?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren