Hallo zusammen, kennt jemand von euch eine Möglichkeit, mit einem STM32F4 die CAN Errorframes pro Sekunde zu messen? Über den CAN-Error-Interrupt (CANx_SCE_IRQHandler) kann ich den Error-Status (EWG, EPV und BOF) lesen. Das ist mir allerdings zu ungenau, da die Flags nie gesetzt werden, wenn der CAN nur minimal gestört ist. Zusätzlich kann man den REC und den TEC auslesen. Diese werden ja gemäß CAN-Standard inkrementiert und dekrementiert. Ich wüsste jedoch nicht wie man das in Errorframes/s umrechnen könnte (Wenn die Counter sich verändern, wird kein IRQ ausgelöst und ich kann das ja schlecht pollen).
Warum nicht pollen? z.B. 10 mal pro Sekunde in der systick ISR abfragen und den Max. Wert hin und wieder loggen..
Weil ich die Errorframes/s bekommen möchte. Die Error-Counter werden ja aber dekrementiert, sobald eine Nachricht erfolgreich gesendet wird. Dementsprechend gibt es doch keinen Zusammenhang zwischen Errorframes/s und Error-Counter?
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.