Skip to content

Commit 9ee222a

Browse files
committed
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).
1 parent bfc4d68 commit 9ee222a

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

targets/TARGET_STM/can_api.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,13 @@ void can_init_freq (can_t *obj, PinName rd, PinName td, int hz)
103103

104104
can_registers_init(obj);
105105

106+
/* Bits 27:14 are available for dual CAN configuration and are reserved for
107+
single CAN configuration: */
108+
#if defined(CAN3_BASE) && (CAN_NUM > 2)
109+
uint32_t filter_number = (can == CAN_1 || can == CAN_3) ? 0 : 14;
110+
#else
106111
uint32_t filter_number = (can == CAN_1) ? 0 : 14;
112+
#endif
107113
can_filter(obj, 0, 0, CANStandard, filter_number);
108114
}
109115

0 commit comments

Comments
 (0)