Bit-deklaration

Gast #4111093
Lesenswert?
• ▲
▼
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
1
C1TX0SRC = 0x0001;
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.
Gast #4111309
Lesenswert?
• ▲
▼
Johannes schrieb:
> wenn ich im code
> C1TX0SRC = 0x0001;
> schreibe,
> wird dann folgendes passieren?
> C1TX0SID = 0b0000000000000000
> C1TX0EID = 0b0100000000000000
> ?
> wenn ja, dann wäre das super.

Wenn ich die Frage richtig verstehe, ist C1TX0SRC von deiner 
Murksstruktur abgeleitet?

Schau doch mal hier (Lesen!):
http://www.c-howto.de/tutorial-strukturierte-datentypen-bitfelder.html

Zusätzlich bitte im Datenblatt Abschnitt 19.2 (Seite 123) zu SID und EID 
durchlesen.

beste grüße
public

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.