Ich verwende die Renesas CAN API um zwischen zwei M16C Controllern CAN zu benutzen. Mir ist aufgefallen, dass Bit 5 der SID (CAN-ID) immer 0 bleibt. Wenn ich also eine SID 111 1111 1111 schicke, kommt 111 1110 1111 an. Ich weiß es klingt verrückt, aber es ist tatsächlich so! In den Sourcen der Renesas CAN API werden die ID-Register der slots so gesetzt: c1slot[slot_nr].ba.sidh = ((in_trm_data_p->id)>>6) & 0x1f; // SID10-6 c1slot[slot_nr].ba.sidl = (in_trm_data_p->id) & 0x3f; // SID5-0 und so gelesen: in_rec_data_p->id = ((unsigned short)c0slot[slot_nr].ba.sidh<<6) + c0slot[slot_nr].ba.sidl; Sieht irgendwie korrekt aus und ich weiß mir nicht mehr anders zu helfen, als Bit 5 nicht mehr zu verwenden. Das sollte aber nicht die Lösung sein. Kennt jemand das Problem im Zusammenhang mit der Renesas CAN-API für M16C ?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.