Timeout in C

Gast #2851169
Lesenswert?
• ▲
▼
Hallo Welt,

ich habe ein Xilinx-Board, auf dem zwei Microblaze' über zwei FSL-Busse 
mit einander kommunizieren.

Der eine Microblaze ist dabei der Master und braucht eine 
Timeout-Funktion. Dh. µC-Master pollt µC-Slave an ( "haste was zu 
senden?" ), und wenn µC-Slave nach einer vorbestimmten Zeit nicht 
antwortet, hört µC-Master auf von der FSL zu lesen.

Ja, mache ich jetzt diese Timeout-Funktion?
Auf dem µC-Master läuft ein Echtzeitsystem mit mehreren Threads, 
insofern wäre ein Lösung mittels Interrupt wohl nicht so schön.


Vielen Dank schonmal.
Persönliche Seite #2851191
Lesenswert?
• ▲
▼
olpo schrieb:
> Auf dem µC-Master läuft ein Echtzeitsystem mit mehreren Threads,
> insofern wäre ein Lösung mittels Interrupt wohl nicht so schön.

Das System wird einen Timerinterrupt haben, und Du wirst die Ticks der 
Systemzeit abfragen können. Zu Beginn Deiner Operation bestimmst Du den 
aktuellen Tick-Stand, und dann überprüfst Du zyklisch, ob das erwartete 
Ereignis eingetreten ist. Ist es das nicht, bestimmst Du den jetzt 
aktuellen Tick-Stand und kannst die Differenz zwischen diesem und dem 
Start-Tick-Stand mit Deinem maximal zulässigen Timeout-Wert vergleichen. 
Ist der noch nicht überschritten, kann sich Dein Thread beispielsweise 
schlafen legen, um dann wieder so einen Überprüfungszyklus 
durchzuführen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.