Hi, es geht um diesen Controller: http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010406 Dort ist angegeben, dass es 2 Rx Puffer gibt. Auch im Datenblatt habe ich nicht genau gefunden, was das bedeutet. Können 2 Nachrichten (je eine CAN-Nachricht, also 8 Byte, pro Puffer) gespeichert werden? Oder bedeutet 1 Puffer, dass mehrere Nachrichten reinpassen? Dann würde mir die Größenangabe fehlen, wie viel rein passt....
Pnubbi schrieb: > Dort ist angegeben, dass es 2 Rx Puffer gibt. Auch im Datenblatt habe > ich nicht genau gefunden, was das bedeutet. Es gibt sogar drei Receive Buffer. Im Datenblatt Fig 1-3 "CAN buffers and protocol engine block diagramm" ist dargestellt wie die zusammenhängen und welche Filterkriterien gelten. Im Kapitel 4.1 "Receive Message Buffering" ist das noch mal beschrieben.
Ich bin mir nicht absolut sicher, aber es geht um zwei NACHRICHTEN á 8 BYTE, die gepuffert werden können. Mir macht es ein wenig Probleme, dass ich nicht erkennen kann, bis zu wie viele Frames ich in einer Sekunde sicher lesen kann. Momentan verwende ich diese Bibliothek: https://github.com/franksmicro/Arduino/tree/master/libraries/MCP2515 Funktioniert auch ganz gut. Wenn ich aber zu viele Nachrichten zu schnell hintereinander versende (oder alternativ in der Loop-Routine noch andere Dinge mache) kommen einige nicht an. Der Puffer wird schon überschrieben, bevor die Nachrichten ausgelesen werden können. Ich kann diesen Schwund nicht kontrollieren und ich kann auch leider keine "Grenzfrequenz" angeben, bis wie viel Nachrichten/s ich sicher empfangen kann. Was wäre eine gute Strategie um das Problem zu lösen?
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.