The configuration is using RX FIFO and interrupt. I can read a message from the CAN BUS, and I can output a message. I setup 8 ID filters for RX FIFO. The filters work fine - there is no interrupt when there is no ID match, and there IS a RXFIFO interrupt when there is one match. However, regardless where I put the correct ID filter, the RXFIR always shows IDHIT as 0. Should not it show the index of the matching filter?
yes the RXFIR includes IDHIT and it is valid while the IFLAG1[BUF5I] flag is asserted. The RXFIR register must
be read only before clearing the flag. Also IDHIT can be read from C/S word, as shown in the Rx FIFO Structure description.
If have issues still please share filter table, mask registers and the way you read RXFIFO and RXFIR.