>struct message >{ >char id; // CAN-ID >char datenByte1; // Das erste Datenbyte >char datenByte2; // Das zweite Datenbyte >char datenByte3; // Das dritte Datenbyte >char datenByte4; // Das vierte Datenbyte >}; > >void komGetDatenAusPuffer(struct message *datenByte ) >{ > pdata stCAN_SWObj canReceiveObject; > > switch( CAN_ubReadFIFO( 2, &canReceiveObject ) ) > { > > case 3: // Ein vorhergehende Nachricht wurde verloren > case 1: // Das MO hat eine neue Nachricht empfangen > datenByte->datenByte4 = (canReceiveObject.ulDATAL).ubDB[0]; > datenByte->datenByte3 = (canReceiveObject.ulDATAL).ubDB[1]; > datenByte->datenByte2 = (canReceiveObject.ulDATAL).ubDB[2]; > datenByte->datenByte1 = (canReceiveObject.ulDATAL).ubDB[3]; > break; > > case 0: // Das MO hat keine neu Nachricht empfangen > case 2: // Kein FIFO-MO angegeben > case 4: // Die empfangene Nachricht ist beschaedigt > default: // Sonstiges > datenByte->datenByte4 = 0x00; > datenByte->datenByte3 = 0x00; > datenByte->datenByte2 = 0x00; > datenByte->datenByte1 = 0x00; > break; > } >}