Theoretisch kann man das machen, da das CAN-Protokoll aber höchst komplex ist, nimmt man einen CAN-Controller wie MCP2515, der das CAN-Protokoll in Hardware beherrscht oder einen uC mit integriertem CAN-Controller (AT90CAN128 böte sich für AVR-erfahrene an).
Ergänzung: Die Nachrichten mit niedrigerer Priorität gehen nicht verloren, sondern der CAN-Controller versucht, sie solange nochmal zu versenden, bis die Übertragung erfolgreich war.Und dann noch eine letzte, abschließende Frage
Der CAN-Bus ist ja ein Multi-Master Bus. Wenn ich das dann richtig verstanden habe gibt es dort keine „Baustein Hirachie“ (wie beim I²C mit Master und Slave) sondern jeder Baustein im CAN-Bus kann senden wann er will, wobei nur das Datenpaket auf dem Bus liegt was die höchste Priorität (also den niedrigsten Identifier hat) und dieses Datenpaket wird dann auch von allen CAN-Bausteinen empfangen und die Entscheidung ob das nun benötigt wird oder nicht wird dann von dem dazu gehörigen Mikrocontroller entschieden. Ist das so korrekt?
Beim Empfang bieten die üblichen Can-Controller eine Filterfunktion an, d.h. man kann vorgeben, welche IDs interessant sind, alle anderen werden schon in Hardware ignoriert und belasten den uC nicht
Lesezeichen