Hallo...... Ich habe ein Verständnisproblem mit dem Datenblatt bezüglich der Interruptsteuerung mit RX0IE. Im Datenblatt steht unter 7.3 (S.49) daß ein Interrupt ausgelöst wird wenn eine Nachricht empfangen worden ist und im Buffer abgelegt ist. In der Registerbeschreibung allerdings steht, der Interrupt wird ausgelöst wenn der Buffer "voll" ist. Wenn aber nun eine Nachricht mit 3Bytes "Nutzlast" ankommt, wird der Interrupt jetzt ausgelöst, oder nicht? Ich bräuchte für meinen Fall einen Interrupt der auslöst sobalt eine gültige Nachricht angekommen ist bei der es egal ist wie viele Nutzbytes es hat. Die Anzahl der Bytes kann ich ja schließlich im RXB0DLC erfahren. Nach meinem Verständnis wird der Buffer ja auch bei jeder Nachricht ab RXB0D0 beschrieben - so daß die vorherige Nachricht überschriben wird. Leider ist es mir derzeit nicht möglich, es einfach auszuprobieren, da ich noch keine Hardware komplett habe. Aber schon anfange zu programmieren. André
Killroymenzel schrieb: > Wenn aber nun eine Nachricht mit 3Bytes "Nutzlast" ankommt, wird der > Interrupt jetzt ausgelöst, oder nicht? Er wird. CAN überträgt Frames und CAN Controller verarbeiten Frames. Keine Bytestreams.
Killroymenzel schrieb: > Nach meinem Verständnis wird der Buffer ja auch bei jeder Nachricht ab > RXB0D0 beschrieben - so daß die vorherige Nachricht überschriben wird. In der Standardeinstellung sind RXB0 und RXB1 abhängig vom jeweiligen Filter für verschiedene Messages zuständig. Der MCP kann aber auch so konfiguriert werden, dass ein zweiter über die Filter von RXB0 einlaufender Frame nach RBX1 geschrieben wird, wenn RXB0 voll ist.
A. K. schrieb: > Er wird. CAN überträgt Frames und CAN Controller verarbeiten Frames. > Keine Bytestreams. Danke.... Genau das wollte ich lesen... ;-) A. K. schrieb: > In der Standardeinstellung sind RXB0 und RXB1 abhängig vom jeweiligen > Filter für verschiedene Messages zuständig. Der MCP kann aber auch so > konfiguriert werden, dass ein zweiter über die Filter von RXB0 > einlaufender Frame nach RBX1 geschrieben wird, wenn RXB0 voll ist. Ja, wenn ich den "Rollover" (BUK-bit) setze, aber ich möchte erst mal nur mit einem Buffer arbeiten. Danke......
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.