Zeichen einlesen

Gast #1102
Hallo!

möchte foldendes machen, über die RS232 Zeichen einlesen, habe mir 
überlegt das es mit getch() geht, aber kann ich da immer nur ein zeichen 
einlesen, wie mache ich es, dass ich mehrere z.b. "ERROR" einlese oder 
"OK" oder eben irgendeinen wert?

und das zweite, wie mache ich es am besten, wenn ich ein eeprom 
beschreiben will, länge der zeichen unbekannt z.b. einen binäre file mit 
1Kbit, wie bekomme ich die am besten in ein exterenes eeprom oder flash? 
ja, über i2c aber wie schreibe ich die werte die ich z.b. über die 
serielle rs232 empfange an die adresse usw..?
hat da jemand eine ahnung bzw. eine anleitung?
danke vielmals!

mfg alex r.
Gast
Hi Alex,

zu 1)

wenn Du mehere Zeichen verarbeiten willst, musst Du den genauen Aufbau 
der Übertragung kennen (oder festlegen).

z.B. ASCII, zeilenweise mit '\n' abgeschlossen:
dann kannst Du bis zum Abschlußzeichen (hier \n) die Daten in einen 
Buffer scheiben (am besten direkt im seriellen. Int) und danach die 
Zeile auswerten.

Ich benutze meist folgenden Aufbau:
1 Zeichen = Kommando
2..(n-2) Zeichen Daten
(n-1) Checksumme
n = Abschlußzeichen (z.B. \n oder \0)

Am Kommando erkenne ich die Länge und die Art der Daten (z.B. hex. 
Werte).
Die Checksumme ist einfach nur die Addition aller Zeichen. (einfach aber 
wirkungsvoll)
Das Abschlußzeichen hilft beim Synchronisieren.

Fazit: Man kann beliebig viel Aufwand beim Implementieren eines 
Protokolls betreiben :-))
-------------------------------------

zu 2)
Ich bin mir nicht sicher wo dein Problem liegt.
Also, einige EEPROM verfügen über ein autom. Adreßinkrement. D.h. Du 
mußt nur einmal die Startadr. übertragen und danach kannst Du die Daten 
lesen / schreiben.
Genauso gibt es blockweises Schreiben. Dann kann Du eine best. Anzahl 
von Zeichen seriell empfangen in einen Buffer schieben und dann als 
Block in EEPROM schreiben.

---------
Ich glaube nicht, dass es für deine Aufgabe eine Standardlösung gibt. Du 
wirst wohl nicht ums programmieren kommen ;-)

Bis dann,
               Ingo!


-----------
http://www.mikrocontroller.com

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 24 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.