Forum: Mikrocontroller und Digitale Elektronik CAN MCP2515 Überlauf


von Hugon Mö (Gast)


Lesenswert?

N'Abend,

ich benutze diese Bibliothek für CAN mit dem Arduino uno.
https://github.com/franksmicro/Arduino/blob/master/libraries/MCP2515/MCP2515.h

Wie kann ich damit am besten feststellen, ob zwischen zwei Leseaufrufen 
eine Nachricht verloren gegangen ist? Das passiert, wenn die Leseaufrufe 
nicht schnell genug erfolgen und zwischen den einzelnen Lesefunktionen 
zu viele Nachrichten kommen (Pufferüberlauf).

Es gibt vom MCP2515 ein Overflow-Bit in einem Register. Diese Lib 
scheint aber darauf nciht zugreifen zu können.

von Konrad (Gast)


Lesenswert?

Kannst Du nicht einfach eine Methode "readStatus" dranmachen? Ist doch 
nur ein einziger SPI-Transfer in einem uebersichtlich-kleinen 
Pollingtreiber...

von dunno.. (Gast)


Lesenswert?

Vielleicht solltest du über ein interruptgesteuertes handling 
nachdenken...

bekämpft die ursache, nicht die wirkung.
und wenns doch overflowt, kannst du das im interrupt auch direkt noch 
sehen ;)

von Karl H. (kbuchegg)


Lesenswert?

Konrad schrieb:
> Kannst Du nicht einfach eine Methode "readStatus" dranmachen? Ist doch
> nur ein einziger SPI-Transfer in einem uebersichtlich-kleinen
> Pollingtreiber...

Dir ist schon bewusst, was du da von einem durchschnittlichen Arduino 
Programmierer verlangst?

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
Noch kein Account? Hier anmelden.