Hallo, bei der Microcontrollerprogrammierung hab ich gelernt die Eventroutine so kurz wie möglich zu halten z.b. einfach ein Flag setzen und dann in der Mainroutine das Flag mittels pollig abzufragen. Beim Aufbau auf einem Windowssystem bin ich unschlüssig, wie es gut ist. Meine Idee: Timer event method: Flag setzen Main ruft eine Methode in einem eigenen Thread auf mit while Schleife und füht die Aktionen aus. - Ist das der normle Weg auf einem Windows OS System? Bei einem Mikrocontroller hab verschiedene Zeiten durch den Timerevent abgeleitet. - Sollte ich bei einem Windows OS auch darauf achten oder einfach so viele verschiedene Timer erstellen wie benötigt?
Hallo, wenn du keine Threads verwenden willst mag das eine Möglichkeit sein, aber ein PC kann natürlich gegenüber einem MC in der gleichen Zeit viel mehr machen - als ob das so Sinn macht. Aber eigenlich sollte man parallele Aufgaben in eigene Threads auslagern. Das OS kümmert sich dann darum das die Aufgaben parallel erledigt werden. Nur so kann ein moderner Mulicoreprozessor sinnvoll genutzt werden. Sascha
Bei der Windows - API ist es so, daß man eine Procedur angibt, die beim Timeout angesprungen bzw. abgearbeitet wird. SetTimer(Fenster, id, timeout, ProcAdr(Procedur)) wobei id 0 sein kann. Die Procedur sollte 4 Parameter haben : Parameter hWnd, uMsg, idEvent, dwTime
Thorsten schrieb: > Hallo, bei der Microcontrollerprogrammierung hab ich gelernt die > Eventroutine so kurz wie möglich zu halten z.b. einfach ein Flag setzen > und dann in der Mainroutine das Flag mittels pollig abzufragen. Wenn du mit "Event" einen Interrupt meinst, ja. > Beim Aufbau auf einem Windowssystem bin ich unschlüssig, wie es gut ist. > > Meine Idee: > > Timer event method: > Flag setzen > > Main ruft eine Methode in einem eigenen Thread auf mit while Schleife > und füht die Aktionen aus. > > - Ist das der normle Weg auf einem Windows OS System? Nein, denn das würde eine konstante CPU-Last von 100% bedeuten. Dein Programm muss so geschrieben sein, dass es sich, wenn es gerade nichts zu tun hat, schlafen legt. Das Betriebssystem kümmert sich dann darum, bei einem Ereignis dein Programm wieder aufzuwecken.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.