Hallo zusammen. Ich möchte den Inhalt meines seriellen Puffers (wurde gefüllt mit diversen Messwerten unterschiedlichen Datentyps) in einer Struktur abspeichern:
1 | byte SerBuffer1[SER_BUFFER_SIZE]; Definition serieller Puffer |
2 | |
3 | struct MV { // 16 Byte |
4 | unsigned char History; |
5 | long int Time; |
6 | int Temperature; |
7 | unsigned char ErrorFlags; |
8 | unsigned char Status; |
9 | unsigned char Mode; |
10 | unsigned int V[3]; // insgesamt 16 Byte |
11 | }; // Array measuring values |
12 | |
13 | struct MV MeasValues; |
Nach dem Emfangen meines Frames ist der serielle Puffer gefüllt. Da ich
jetzt den aufwendigen Zusammenbau der Mehr-Byte Variablen über
Zwischenvariablen und Schieben vermeiden möchte, mache ich eine Pointer
Zuweisung:
void Save_MeasValues()
{
struct MV *Pt; // Zeiger auf MeasValues
Pt = &SerBuffer1[4]; // Zeiger laden
MeasValues = *Pt; // MeasValues setzen
return;
}
Leider bringt mir mein Copiler folgende Fehlermeldung:
Error: ....ation.c(146): a value of type 'byte *' can't be assigned to
an entity of type 'struct MV *'
Ich verstehe nicht wo das Problem liegt.
Wenn meine Funktion nicht funktioniert, wie sollte ich es denn sonst
realisieren?
Kann mir jemand weiter helfen?