Forum: Mikrocontroller und Digitale Elektronik [ESP8266] Zweck von procTask ?


von Max (Gast)


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

von Timmo H. (masterfx)


Lesenswert?

Schau mal hier, da wurden gerade ein paar Grundlagen erklärt : 
http://hackaday.com/2015/03/18/how-to-directly-program-an-inexpensive-esp8266-wifi-module/

von Max (Gast)


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 ?

von Max (Gast)


Lesenswert?

Push

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.