Hallo,
also wie ihr bereits aus dem Titel heraus gelesen habt, brauch ich hilfe zu typedef struct und wie ich den pointer dazu schreibe. Dazu möchte ich folgenden Code benutzen:
typedef struct
{
DWORD ID; // 11/29 bit code
BYTE MSGTYPE; // bits of MSGTYPE_*
BYTE LEN; // count of data bytes (0…8)
BYTE DATA[8]; // data bytes, up to 8
} TPCANMsg; // for PCAN_WRITE_MSG
typedef struct
{
TPCANMsg Msg; // the above message
DWORD dwTime; // a timestamp in msec, read only
WORD wUsec; // remainder in micro-seconds
} TPCANRdMsg; // for PCAN_READ_MSG
void print_message(TPCANMsg *m)
{
int i;
// print RTR, 11 or 29, CAN-Id and datalength
printf("receivetest: %c %c 0x%08x %1d ",
(m->MSGTYPE & MSGTYPE_RTR) ? ‚r‘ : ‚m‘,
(m->MSGTYPE & MSGTYPE_EXTENDED) ? ‚e‘ : ‚s‘,
m->ID,
m->LEN);
// don’t print any telegram contents for remote frames
if (!(m->MSGTYPE & MSGTYPE_RTR))
for (i = 0; i LEN; i++)
printf("0x%02x ", m->DATA[i]);
printf("\n");
}
So jetzt zu meinen Problem: Wie schreib ich den Pointer wenn ich die Daten über TPCANRdMsg auslesen möchte?
Lösungsvorschlag meinerseits, der leider nicht funktioniert:
rintf("receivetest: %c %c 0x%08x %1d ",
(m->Msg->MSGTYPE & MSGTYPE_RTR) ? ‚r‘ : ‚m‘,
(m->Msg->MSGTYPE & MSGTYPE_EXTENDED) ? ‚e‘ : ‚s‘,
m->Msg->ID,
m->Msg->LEN);
Mit freundlichen Grüßen
Darius