Gast
#3569634
Hallo zusammen, ich nutze an einem ATMega128 zwei MCP2515/MCP2551. (AVR 18,3 MHz und die MCPs mit 16MHz, SPI mit AVR/2) Die Schaltung ist als Gateway ausgelegt und arbeitet mit je 100KBit. Durchschnittlich passieren 120 Frames bidirektional das Gateway. Im grunde funzt alles soweit perfekt. Das was ich bereits eingebunden habe ist der Watchdog. Dieser wird bei der Verarbeitung einer bestimmten ID alle 100msec zurückgesetzt. Bei BUS-off wird der AVR eben über den Watchdog neugestartet. Beim letzten Test habe ich zyklisch TEC und REC einfach so ausgelesen und die Zähler waren immer "0". Hier meine Frage: Ich suche nach einem Denkanstoss, Hinweis oder einem guten Beispiel eine möglichst "sinnvolle und schnelle Fehlerbehandlung" durchführen zu können. Die Überlegung geht vom zyklischen auslesen der TEC und REC Werte die ja eine Tendenz anzeigen bevor der MCP auf BUS-passiv oder BUS-off geht oder dem einbinden in den Interrupt (Verzweigung in der ISR) oder auslesen des EFLG – ERROR FLAG Registers. Ich möchte dem AVR nur unnötige Rechenzeit ersparen oder eben sinnvoll ein setzen. Danke für jeden Denkanstoss. Gruß Peter PS: die Suchfunktion gibt da nichts her................