Forum: Mikrocontroller und Digitale Elektronik Zeittrigger in WinCE 5.0


von tix (Gast)


Lesenswert?

Hallo,

ich habe ein Programm mit mehreren Threads und würde gerne wissen, ob es 
in WinCE eine Möglichkeit gibt ein Ereignis periodisch zu triggern.
Es sollte ca. alle Sekunde +-500ms getriggert werden.
Auf die Genauigkeit kommt es erstmal nicht an.
Bin neu in der WinCE und frage mich, wie man sowas bewerkstelligen 
könnte.
Habt Ihr irgendwelche Ideen?

Grüße

Tix

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

tix schrieb:
> ich habe ein Programm mit mehreren Threads und würde gerne wissen, ob es
> in WinCE eine Möglichkeit gibt ein Ereignis periodisch zu triggern.
Schreib einfach in einem eigenen Thread
sleep(1000);
und ruf danach deine Funktion auf...

Oder wie meinst du "triggern"?
Etwas in die Message-Queue absenden?

von tix (Gast)


Lesenswert?

Jaa.. Das schwebte mir auch vor, danke.
Ist aber nicht sehr elegant oder?
Hat jemand schon Erfahrung mit: timeSetEvent?

von tix (Gast)


Lesenswert?

niemand?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

timeSetEvent kann sowohl zyklisch eine Callback-Funktion aufrufen (die 
läuft dann in einem vom System verwalteten Threadkontext) oder eben ein 
Event wahlweise setzen oder "kurz dran wackeln". Darauf kann sich einer 
Deiner Threads synchronisieren (mit WaitForSingleObject bzw. 
WaitForMultipleObjects).

Wenn Du GUI-Funktionen verwendest, dann kannst Du auch CreateTimer 
verwenden, der sorgt dafür, daß einem Fenster die Windows-Nachricht 
WM_TIMER gesandt wird.

Was Du jetzt verwendest, hängt davon ab, was Du mit "Ereignis" meinst.

von Alex W. (a20q90)


Lesenswert?

Wenn Du in VS proggst, kannst Du die Threads über nen Timer verteilen.

von tix (Gast)


Lesenswert?

Alex.W, was meinst Du damit?

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.