Zeichen einlesen

Gast #1102
Lesenswert?

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 #1103
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren