Forum: PC-Programmierung Zeitgeber für GCC am PC?


von Third E. (third-eye)


Lesenswert?

Hallo Leute,

ich habe ein bissschen das C programmieren für den PC (Windows) unter 
Code-Blocks mit GCC (MinGW) angefangen.
Bisher hatte ich aber nur Mikrocontroller programmiert. Da ist es ja mit 
den Zeiten recht einfach. Man stellt einen Timer ein, bei dessen 
Überlauf eine ISR angesprungen wird.
Bitte steinigt mich nicht gleich, ich bin programmiertechnischer Laie. 
Google lieferte zu meinen Suchen nur Infos für µCs, oder C#, oder C++.
Aber wie läuft sowas in klassischem C auf dem PC ab?

Danke!

von Malte S. (maltest)


Lesenswert?

Zwei von vielen Möglichkeiten:

CreateWaitableTimer() & co.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682492%28v=vs.85%29.aspx

Ganz klassische WinAPI: SetTimer()/KillTimer()
http://msdn.microsoft.com/en-us/library/windows/desktop/ms644906%28v=vs.85%29.aspx

von Ingo W. (Gast)


Lesenswert?

Mit SetTimer
http://msdn.microsoft.com/en-us/library/windows/desktop/ms644906%28v=vs.85%29.aspx
Kannst Du deinem Programm gegelmäßig eine Message senden lassen, oder 
eine Funktion aufrufen lassen, fast wie ein richtiger Interrupt. Aber 
nur mit 1mS Auflösung.
mfG vom ingo

von Third E. (third-eye)


Lesenswert?

Danke!
1ms dürfte ja für die meisten Sachen am PC reichen. Wenn's was 
Zeitkritisches ist, werd ich sowieso nen µC nehmen, z.B. zur Abtastung 
von Messwerten. Der PC darf dann Datenmengen- und rechaufwändige 
Aufgaben erledigen.

von Daniel F. (df311)


Lesenswert?

wie wärs mit einem posix-timer? der funktioniert sowohl unter windows 
als auch unter linux/unix

von adsf (Gast)


Lesenswert?

Dane S. schrieb:
> 1ms dürfte ja für die meisten Sachen am PC reichen.

Ja, aber auch da bitte nicht drauf verlassen. Da du dir die CPU mit 
anderen Programmen teilst kann es auch länger dauern bis dein Prozess 
wieder ausgeführt wird. Der Timer wird nur garantiert nicht vor Ablauf 
aufgerufen.

von Third E. (third-eye)


Lesenswert?

Das denke ich mir schon, dass das am PC nicht so schön ist wie am µC, wo 
die Timer-ISR garantiert alle z.B. 100µs aufgerufen wird. Deshalb ist 
wohl auch das Timing für die ganzen Selbstbau-CNC-Fräsen ein schwieriges 
Thema.

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.