STM32: Set valid filter number for CAN3

Filter numbers 14 to 27 are reserved for dual CAN configuration.
However, CAN3 operates in single CAN configuration according to the
reference manual).
pull/5738/head
Adam Heinrich 2017-12-07 18:06:05 +01:00 committed by adbridge
parent b43b6cc420
commit fd604f43b8
1 changed files with 6 additions and 0 deletions

View File

@ -103,7 +103,13 @@ void can_init_freq (can_t *obj, PinName rd, PinName td, int hz)
can_registers_init(obj);
/* Bits 27:14 are available for dual CAN configuration and are reserved for
single CAN configuration: */
#if defined(CAN3_BASE) && (CAN_NUM > 2)
uint32_t filter_number = (can == CAN_1 || can == CAN_3) ? 0 : 14;
#else
uint32_t filter_number = (can == CAN_1) ? 0 : 14;
#endif
can_filter(obj, 0, 0, CANStandard, filter_number);
}