Hi freaks,
i have a weird problem with the UC3C CAN bus error handling:
When i encounter a busoff error, i cannot reset it. The interrupt occures again and again.
ASF (3.1.3) does the following in the interrupt handler:
static void can0_int_busoff_handler(void) { CANIF_clr_interrupt_status(0); can_lib_params.can_msg_callback_channel0(0xFF,CAN_STATUS_BUSOFF, CANLIB_BUSERR); }
The definition of CANIF_clr_interrupt_status is:
#define CANIF_clr_interrupt_status(ch) { AVR32_CANIF.channel[ch].caniscr = CANIF_get_interrupt_status(ch); } #define CANIF_get_interrupt_status(ch) ( AVR32_CANIF.channel[ch].canisr)
Wich basic looks ok to me.
So the question is for me:
Is it normal, that the busoff interrupt reoccurs after being cleared via writing to CANISCR?
What are you doing in your busoff interrupt handler?
Thanks
Holger