Gast
#4819617
Hallo Leute,
ich habe dieses Problem vor einiger Zeit mit der Funktion
memcpy((BYTE*)&OUTPacket,&receivedDataBuffer,sizeof(receivedDataBuffer))
lösen können. Diese Funktion scheint mir während der Laufzeit im µC
Probleme zu machen. Vielleicht gibt es eine andere sichere oder
einfachere Methode? Bei mir ist eine struct und union so definiert
worden.
typedef struct CMD_HEADER
{
BYTE CMD; // Kennung des Kommandos
BYTE LEN; // Gesamtlänge
BYTE STA; // Rückmeldeparameter
}t_CMD_HEADER;
typedef union DATA_PACKET
{
t_CMD_HEADER CMD_HEADER;
t_CMD_ERROR CMD_ERROR;
t_CMD_VERSION_EX CMD_VERSION_EX;
t_CMD_FRG CMD_FRG;
t_CMD_DREHSIG CMD_DREHSIG;
} t_DATA_PACKET;
t_DATA_PACKET OUTPacket;
Eine Statemachine soll später im Programm auf folgendes Element der
Union zugreifen.
switch(OUTPacket.CMD_HEADER.CMD)
im Moment existiert ein Array mit den diese Statemachine auf gleicher
weise arbeitet.
switch(receivedDataBuffer[0])
wie könnte man den Wert des Arrays "receivedDataBuffer[0]" in das
Element der Union "OUTPacket.CMD_HEADER.CMD" schieben? Vielleicht mit
Hilfe von Zeigern?
Mit freundlichen Grüßen