This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi all,
i have got a strange phenomenon:
I use the dcantxrx.c example code to send a single message via CAN.
The CAN frame is correct. I measured it on the oscilloscope and tested the communication with an USBCAN Module. So far so good. If i activate the interrupt for INT_Line_0 (CAN device 0), i will get an interrupt (INT0ID = 0x0001). Thats because i transmitted via messageobject with the id 0x01.
After clearing the INT0ID Flag, the CANisr0 restarts. I cleared all interrupt flags but i get an infinity loop (the CANisr0 always restarts). During the CANisr0 i check the message id, which is 0x00 ???
I don't understand why the isr permanently reruns?
Do i have to clear some other interrupt flag but the can0 flags???
Do you have any idea why the isr reruns?
I would welcome your response!
Enclosed please find my register configuration!
Best regards Andreas
Hi Andreas,
Regards,
Jeethan
Found it!
I forgot to free the relevant interrupt (0x52)...
You ever have to free it.
Thanks Jeethan
Hi Jeethan,
Where we can find dcantxrx.c, trust this is an example code which used dcan.c file similar to https://github.com/BeaglePilot/PRUSS-C/tree/master/PRUSS_LIB/AM335X_StarterWare_02_00_01_01/drivers.
-Suresh