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).
Gast
#4456426
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?
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.