Hallo zusammen, ich habe ein kleines Problem mit meinem CAN-Bus. Vielleicht kann mir ja jemand den nötigen Denkanstoss geben. Also, der Bus läuft soweit und die Nachrichten werden auch übermittelt. Nun will ich aber nur bestimmte Nachrichten empfangen und die Filter des MCP2515 setzen. Dazu habe ich folgendes gemacht: // Buffer 0 : Nur 29 Bit Identifier zulassen und filtern mcp2515_write_register( RXB0CTRL, (1<<RXM1)); // Buffer 1 : Nur 29 Bit Identifier zulassen und filtern mcp2515_write_register( RXB1CTRL, (1<<RXM1)); //Filter mcp2515_write_register( RXF0SIDH, 0b11110111); mcp2515_write_register( RXF0SIDL, 0b00000000); mcp2515_write_register( RXF0EID8, 0b00000000); mcp2515_write_register( RXF0EID0, 0b00000000); //Maske mcp2515_write_register( RXM0SIDH, 0b11111111); mcp2515_write_register( RXM0SIDL, 0b00000000); mcp2515_write_register( RXM0EID8, 0b00000000); mcp2515_write_register( RXM0EID0, 0b00000000); Wenn ich das Datenblatt richtig verstanden habe, dann müsste doch nun alles akzeptiert werden, wo die obersten 8bit 11110111 sind und der Rest ist egal. Leider akzeptiert der aber irgendwie nix mehr. Gruß Lars
> mcp2515_write_register( RXF0SIDL, 0b00000000);
Musst du hier nicht das Bit EXIDE setzen, wenn du 29-Bit ID verwendest?
Thomas
Hallo Thomas, da könntest Du natürlich recht haben, ich wusste das ich wahrscheinlich irgendeine Kleinigkeit übersehen habe. Das werde ich gleich heute Abend mal ausprobieren. Ich bin eigentlich davon ausgegangen, dass er das EXIDE bit ignoriert, da das Maskenbit an der stelle auf 0 steht. Wenn der MCP2515 dennoch an dem EXIDE Bit festlegt, ob es ein 11 oder 29bit Filter ist, dann wird er das sicherlich brauchen. Danke schonmal, werde berichten, obs daran lag. Gruß Lars
Hallo, ich kann berichten, es funktioniert. Für manche Feinheiten ist es manchmal zu spät Abends, da übersieht man solche Sachen. Danke nochmal Gruß Lars
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.