I am writing in reference to the information in the reference manual (bxCAN).
I am trying to understand how CAN
filter configuration works and need your help to check whether I understand it correctly or not.
Especially the configuration of the filter ID and the filter mask ID.
After I take a look of the stdPeriphLib
and the ref. manual, I think that in understand what happens but I´m not sure.
FilterIdHigh/Low:
Is FilterIdHigh/Low the comparative value for CAN Controller
after the binary AND with the FilterIdMask
?
e.g: CAN Controller receives a message --> CAN_Rx_
CAN Controller makes a binary AND with the FilterIdMask -->
CAN_Rx_ArbitrationField & FilterIdMask = Result
The CAN Controller
compares the Result with the FilterId.
If there is a match CAN Controller
puts the CAN_Rx_ message into the assigned FIFO otherwise it will discard the message.
Isn´t it?
Thank´s in advantage.