Hallo, ich habe in den letzten Jahren viel code für Mikrocontroller geschrieben, bin jetzt aber auf ein embedded Linux System umgestiegen. Ich möchte eine relativ simple Funktion schreiben welche in einer Schleife daten in ein file schreibt, jede sekunde soll der momentane schleifenzähler auf der Konsole ausgegeben werden. Damit möchte ich grob den dynamischen schreibdurchsatzt der Schnittstelle ermitteln. Auf einem Mikrocontroller wäre das ganz einfach mit einem Timer Interrupt zu realisieren. Wie kann ich dies unter Linux realisieren? Gibt es hier etwas ähnliches? ich hoffe ihr könnt mir weiterhelfen. viele grüße Max
Max schrieb: > Wie kann ich dies unter Linux realisieren? einfach die Zeit mit abfragen und bei mehr als ein Sekunden etwas ausgeben if ( time() - timeOld > 1 ) print("...") timeOld = time(); ) das ständinge Abfrage der Zeit ist zwar nicht schön, sollte aber keine Probleme verursachen.
Max schrieb: > Auf einem Mikrocontroller wäre das ganz einfach mit einem Timer Interrupt > zu realisieren. Das kann man auf einem Linux-System sehr ähnlich machen. Es gibt dort auch Timer, und es gibt Signale, die man sich etwa wie Userspace-Interrupts vorstellen muß. Sieh dir mal die man-Page der Funktion setitimer() an. Damit kannst du einen Timer definieren, der ein Signal SIGALRM auslöst. Mit der Funktion sigaction() kannst du dann für dieses Signal einen Handler definieren, der so ähnlich wie ein Interrupt-Handler funktioniert.
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.