time out protokoll mit pic18f

OP #515054
Lesenswert?
• ▲
▼
Hallo zusammen,

ich möchte ein time-out Protokoll mit einem PIC in C realisieren. Vorab 
erst alles auf theoretischer Basis, d.h. habe noch keine Hardware.

Annahme:
Mein Datenpaket besteht aus einem Adressbyte und n Nutzbytes. Alles 
liegt im Speicher vom PIC. Der Befehl wird über RS485 gesendet. Zwischen 
jedem Nutzbyte gibt es eine Pausenzeit x (ist kleiner als timeout z). 
Nach einer Totzeit y (ist größer als timeout z) kann ein neues 
Datenpaket gesendet werden.

(mein 1.) Ansatz:
Das erste Byte wird gesendet (i = 0), danach wird ein timer1 gestartet, 
der bis x läuft , anschließend das zweite (i = 1). Hier bietet sich doch 
eine for-Schleife an, welche die n Bytes behandelt. In der for-Schleife 
wird das erste Byte an die RS485 ausgegeben, danach der timer1 
gestartet, bis n-1 Bytes gesendet wurden. Anschließend wird ein timer2 
gestartete der bis y läuft, dann kann ein neuer Befehl bearbeitet 
werden.

Wird z überschritten, bricht der Transfer ab.

Doch was passiert, wenn während der Bearbeitung eines Datenpakets, schon 
ein nächstes ansteht? Dies kann doch abgefangen werden, indem timer2 
eine boolean var setzt: var anfangs false, erst wenn timer2 bis y 
gelaufen ist folgt var true und ein neues Datenpaket kann bearbeitet 
werden.

Was denkt ihr über den Sachverhalt?

gruß
blitzgeist
OP #515573
Lesenswert?
• ▲
▼
Die Daten werden über USB FS an den PIC gesendet. Das ganze Datenpaket 
soll im   Speicher des PICs zwischengespeichert werden und nach und nach 
die Bytes aus dem Speicher gelesen werden.

In diesem Thread geht es mir auch darum, wie man generell ein timeout 
Protokoll realisiert. Gibt es da irgendwelche Internetseiten zu diesem 
Thema?

Gruß
blitzgeist

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.