Hi,
ich habe gestern für eine can-kommunikation eine bit-deklaration für den
sid und eid einen dspic30f4011 gemacht.
1 | typedef struct tagCxTXxSIDBITS_tagCxTXxEIDBITS{
|
2 | unsigned : 2;
|
3 | unsigned SRC7_2 : 6;
|
4 | unsigned : 8;
|
5 | unsigned : 14;
|
6 | unsigned SRC1_0 : 2;
|
7 | }CxTXxSRCBITS;
|
ist das richtig für zwei register gleichzeitig?
sind hierbei dann die ersten beiden vom Register CxTXxSID bit 0 und 1
dann CxTXxSID bit 2-7
ddann CxtXxSID 8-15
dann CxTXxEID bit 0-13
und die letzten zwei für CxTXxEID bit 14 und 15?
wenn ich im code
schreibe,
wird dann folgendes passieren?
C1TX0SID = 0b0000000000000000
C1TX0EID = 0b0100000000000000
?
wenn ja, dann wäre das super.
Johannes
Das Problem ist, dass er zwar sendet und auch etwas vom anderen
kontroller empfangen wird, aber nur wenn ich einfach alle Nachrichten
empfange. Wenn ihc eine Maske und Filter darüber lege, bekomme ich wird
ncihts mehr empfangen. Jetzt kann es aber auch daran liegen, dass ich
die Maske und filter falsch gesetzt habe. da habe ich noch probleme mit.