Daten via RS232 ins Eeprom und zurück
Hallo, ich habe viele Parameter die in einer Struktur zusammengefasst sind. Diese werden auch im Eeprom abgelegt. Welche effiziente Möglichkeiten gibt es diese Parameter auf einem PC zu ändern und wieder ins Eeprom zu schreiben.
Bisher habe ich da an USART Schnittstelle gedacht, die die Parameter einer nach dem anderen an den PC übertragt, wo sie ein Windows Programm aufbereitet.
Daten via RS232 als ganzer Block
ist leichter gesagt als getan. Das Problem ist auch nicht so sehr das Schreiben ins Eprom - das kann man schon blockweise machen - sondern die Übertragung.
Bisher verfolge ich folgende Strategie:
1. Lesen der Daten aus dem Eeprom mit
eeprom_read_block(&gPidParam,&ePidParam,sizeof(gPi dParam));
2. Senden der Daten mit
uart_putc('<'); // start character
uart_put_dec(gKupParam.GesWeg,DATASIZE,'0');
so dass folgender String entsteht:
<0360;0016;0016;0001;0150;0205;0075;0003>
--> leider habe ich noch mehr Parameter so dass ich sehr viele uart_put_dec Befehle nötig sind
3. Separieren der Daten auf dem PC in Visual C++ kein Problem
4. Daten ausgeben, evtl. ändern
5. Erzeugen eines Strings, muss ich mir noch überlegen
6. Senden des ganzen Strings
7. Separieren der Daten auf dem uC und schreiben der Daten wieder Blockweise zurück ins Eprom
So, wie gesagt ich suche nach einen Alternative bzw. Optimierung der einzelnen Punkte. z.B. muss jeder Wert einer Struktur mit
uart_put_dec(gKupParam.GesWeg,DATASIZE,'0'); gesenden werden.
--> evtl. gibt es da schon eine Alternative den ganzen Datenblock der Struktur zu senden. Wenn ja mit welchem Befehl und welche Lib?