Hi Leute, Ich hab am C167 'ne CAN Anbindung und da auf dem CAN Bus ziemlich viel Traffic ist, hab ich mich entschlossen, die Akzeptanzfilter bzw. -masken zu verwenden. Ich verwende nur die Mailbox #15 zum Empfangen und Mailbox #1 zum Senden, dahinter befinden sich Empfangs bzw. Sendebuffer. Soweit ich im Manual gelesen hab, wird die ID zuerst mit der Akzeptanzmaske (Reg. UGLM & LGML + UMLM & LMLM) verglichen. Alle Bits, welche auf "0" sind werden nicht verglichen (ignoriert) und alle Bits mit "1" werden verglichen. Werden bei dem Maskenvergleich bereits CAN-Messages rausgeworfen oder nur verändert ? Mit den Arbitration Reg. kann ich nicht arbeiten, da ich wie gesagt nur 1 Mailbox zum empfangen nehme aber 2 ID's annehmen will. Die ID's sind 0x0CFE48F0 und 0x18FF48A8 ... daraus hab ich mir die die "AktzeptanzID" 0x08FE48A0 ermittelt (mir is klar, das da nicht nur die o.g. 2 ID's durchkommen werden, aber auf jeden Fall nicht die anderen Messages, die ich auf meinem Bus habe). Probier schon den 2. Tag daran herum aber schaffs einfach nicht. Vielleicht hab ich auch das Masken- und Filtersystem nicht ganz verstanden ? Wäre über Hilfe dankbar. Grüsse, Max
Es mag zwischen den Bausteinen Abweichungen geben, aber in der Regel ist es so, dass Du genau eine Nachricht in Deiner CAN-Box empfangen kannst, danach musst Du sie neu freigeben und dann ist in der Regel der Inhalt weg. (Ist zumindest bei meienn CANs so) Also zu Deiner Frage, wenn die Mailbox eine Nachricht empfängt und die ID prüft, ist die Mailbox zu diesem Zeitpunkt schon leer.
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.