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.
Kannst Du nicht einfach eine Methode "readStatus" dranmachen? Ist doch nur ein einziger SPI-Transfer in einem uebersichtlich-kleinen Pollingtreiber...
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 ;)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.