Bit-deklaration

Gast #4111093
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
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

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.