Forum: Mikrocontroller und Digitale Elektronik MCP2515 Extended Filter J1939 NMEA2000


von Andreas H. (andy78)


Lesenswert?

Hallo


bin gerade am Bau eines Anzeigegerätes um NMEA 2000 Daten auf ein GLCD 
zu bringen für mein Boot.

Bin gerade dabei meine Switchbank mit der PGN 127501 zu versorgen um 
Schaltzustände zu empfangen oder zu senden dazu will ich an der 
Switchbank den filter setzten 127501

habe mir vorgestellt es so zu machen.

Bit Maske

110011111001000001  101000010  11 komplette Message id Prio PGN Exte 
ident
00011111111111111111110000000  Maske
  0111110010000011010          Filter

Filter buffer0

RXF0SIDH=00011111
RXF0SIDL=00101010
RXF0EID8=00001101
RXF0EID0=00000000

Filter buffer1

RXF1SIDH=00011111
RXF1SIDL=00101010
RXF1EID8=00001101
RXF1EID0=00000000


Maske Buffer 0

RXM0SIDH=00011111
RXM0SDIL=11100011
RXM0EID8=11111111
RXM0EID0=00000000

Maske Buffer 1

RXM1SIDH=00011111
RXM1SDIL=11100011
RXM1EID8=11111111
RXM1EID0=00000000


Buffer 0 Epafnge mit ext filter

RXB0CTRL=01000000

Buffer 0 Epafnge mit ext filter

RXB1CTRL=01000000


Ist das so io????

oder habe ich im Datenblatt falsch vestanden???

von Andreas H. (andy78)


Lesenswert?

Habe es mal eingeben aber jetzt empfängt er nicht die PGN.


Wenn ich wieder RXM0 und RXM1 setzte kommenn logischerweise alle wieder 
rein.

Ich begreife das mit den Filtern nicht.

von Andreas H. (andy78)


Lesenswert?

Hallo


Funktioniert jetzt

Habe mich in den Bits vermacht

habe mir in excel das ganze mal verbildlicht


Fehler lag an der ID FILTER
Falsch
RXF0SIDH=00011111
RXF0SIDL=00101010
RXF0EID8=00001101
RXF0EID0=00000000

Richtig
RXF0SIDH=00001111
RXF0SIDL=10001010
RXF0EID8=00001101
RXF0EID0=00000000


und siehe da es kommen nur noch PGN 127501 rein.

Danke

Man muß sich doch alles bildlich aufmalen.

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
Noch kein Account? Hier anmelden.