[Raspberry Pi] Wie Signaldauer ohne blockieren verlängern?

Gast #5129108
Lesenswert?
• ▲
▼
Wenn ein Signal auf der seriellen Leitung der Steckerleiste des Raspi 
gesendet wird und ich dies sehen möchte, dann schalte ich einfach 
während des Sendens der Daten über einen GPIO Port eine LED ein. Bei 
kurzen Aktivitäten sieht man das Aufleuchten der LED aber nur sehr 
schlecht. Bei einem gewöhnlichen uC würde ich in einer ISR die 
Einschaltzeit der LED verlängern - denn ein einfaches delay() im 
Hauptprogramm wäre eine schlechte Lösung da dies den Programmablauf 
anhält.
Wie kann man das auf dem Raspi realisieren? Bietet time.h hierfür eine 
Lösung (Timer im Hintergrund starten... ) an?
Ich habe keine Erfahrung wie man eine ISR auf nem Raspi realisiert oder 
ob das auf so einem System überhaupt einen Sinn macht.
Gast #5129112
Lesenswert?
• ▲
▼
Warum machst du nicht einfach einen printf auf die Console?

Das, was einem Interrupt am nächsten kommt, sind Signals. Du kannst z.B. 
mittels "signal/sigaction" und "alarm/setitimer" so ein Signal nach 
einer angegebenen Zeit auslösen. Signal-Handler haben allerdings so 
einige Stolperfallen (insbesondere welche Funktionen dort überhaupt nur 
benutzt werden dürfen), so dass ich das einem Anfänger nicht unbedingt 
empfehlen würde. Die einfachste Debug-Methode unter Unix/Linux ist mMn 
wirklich ein popeliges printf.
Gast #5129173
Lesenswert?
• ▲
▼
Nö, ne Hardware-Lösung kommt nicht infrage mir geht's bei dem Projekt 
vordergründig um den Lernaspekt.

>Warum machst du nicht einfach einen printf auf die Console?
Um quasi Zeit zu erzeugen?
Weiß nich...

Ich bin kein besonderer Freund von Linux, wohl aber vom Programmieren in 
C. Die Lösung mittels Signal-Handler werde ich mit mal anschauen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.