Moin, moin,
zwischen einem AVR- und einem PC-Programm verschicke ich viele
unterschidliche Nachrichtentypen (jeder Typ besteht aus einem eigenen
Struct).
Bisher zerlege ich das Struct auf AVR-Seite in ein char-Array übertrage
dieses und baue auf PC-Seite wieder ein Struct zusammen. Dadurch muss
ich für jeden Nachrichtentyp zwei Funktionen schreiben, die die ganze
Kommunikation sehr unflexibel gestalltet.
Ich würde nun gerne das Zerlegung/Zusammenbauen vereinheitlichen, dazu
müsste aber die Speicherdastellung auf PC und AVR gleich aussehen. Gibt
es eine Möglichkeit dies zu erreichen?
Beispiel:
1 | typedef struct Tpacket {
|
2 | char c;
|
3 | int32_t i;
|
4 | };
|
Speicherbelegung 8-Bit (AVR):
| c | i | i | i | i |
Speicherbelegung 32-Bit (PC):
| c | | | | i | i | i | i |