MCP2515 RXB0 Interrupt

Gast #4438734
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:
> 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.
Gast
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......

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.