int can_send_remote(uint8_t mob, uint8_t length) { uint8_t cancdmob, canstmob; if(length > 8) length = 8; can_get_mob(mob); // Nutzdaten löschen can_reset_data(); // Zu erwartende Datenlänge setzen cancdmob = CANCDMOB; clearbit(cancdmob, DLC0); clearbit(cancdmob, DLC1); clearbit(cancdmob, DLC2); clearbit(cancdmob, DLC3); CANCDMOB = (cancdmob | length); // Datenuebertragung starten can_set_mode(CAN_MODE_TRANSMIT_REMOTE); // Warten bis die Datenuebertragung beendet ist (TXOK-Flag von CAN-Controller // gesetzt) while (!getbit(CANSTMOB, TXOK)); // TXOK-Flag von Hand loeschen clearbit(CANSTMOB, TXOK); //Sicher Read-Modify-Write nach Datenblatt St.261 canstmob = CANSTMOB; CANSTMOB = canstmob & ~(1<