@@ -57,14 +57,14 @@ void can_init_freq (can_t *obj, PinName rd, PinName td, int hz)
57
57
__HAL_RCC_CAN1_CLK_ENABLE ();
58
58
obj -> index = 0 ;
59
59
}
60
- #if defined(CAN2_BASE ) && ( CAN_NUM > 1 )
60
+ #if defined(CAN2_BASE ) && defined( CAN_2 )
61
61
else if (can == CAN_2 ) {
62
62
__HAL_RCC_CAN1_CLK_ENABLE (); // needed to set filters
63
63
__HAL_RCC_CAN2_CLK_ENABLE ();
64
64
obj -> index = 1 ;
65
65
}
66
66
#endif
67
- #if defined(CAN3_BASE ) && ( CAN_NUM > 2 )
67
+ #if defined(CAN3_BASE ) && defined( CAN_3 )
68
68
else if (can == CAN_3 ) {
69
69
__HAL_RCC_CAN3_CLK_ENABLE ();
70
70
obj -> index = 2 ;
@@ -132,14 +132,14 @@ void can_free(can_t *obj)
132
132
__HAL_RCC_CAN1_RELEASE_RESET ();
133
133
__HAL_RCC_CAN1_CLK_DISABLE ();
134
134
}
135
- #if defined(CAN2_BASE ) && ( CAN_NUM > 1 )
135
+ #if defined(CAN2_BASE ) && defined( CAN_2 )
136
136
if (can == CAN_2 ) {
137
137
__HAL_RCC_CAN2_FORCE_RESET ();
138
138
__HAL_RCC_CAN2_RELEASE_RESET ();
139
139
__HAL_RCC_CAN2_CLK_DISABLE ();
140
140
}
141
141
#endif
142
- #if defined(CAN3_BASE ) && ( CAN_NUM > 2 )
142
+ #if defined(CAN3_BASE ) && defined( CAN_3 )
143
143
if (can == CAN_3 ) {
144
144
__HAL_RCC_CAN3_FORCE_RESET ();
145
145
__HAL_RCC_CAN3_RELEASE_RESET ();
@@ -562,7 +562,7 @@ void CAN1_SCE_IRQHandler(void)
562
562
{
563
563
can_irq (CAN_1 , 0 );
564
564
}
565
- #if defined(CAN2_BASE ) && ( CAN_NUM > 1 )
565
+ #if defined(CAN2_BASE ) && defined( CAN_2 )
566
566
void CAN2_RX0_IRQHandler (void )
567
567
{
568
568
can_irq (CAN_2 , 1 );
@@ -576,7 +576,7 @@ void CAN2_SCE_IRQHandler(void)
576
576
can_irq (CAN_2 , 1 );
577
577
}
578
578
#endif
579
- #if defined(CAN3_BASE ) && ( CAN_NUM > 2 )
579
+ #if defined(CAN3_BASE ) && defined( CAN_3 )
580
580
void CAN3_RX0_IRQHandler (void )
581
581
{
582
582
can_irq (CAN_3 , 1 );
@@ -630,7 +630,7 @@ void can_irq_set(can_t *obj, CanIrqType type, uint32_t enable)
630
630
return ;
631
631
}
632
632
}
633
- #if defined(CAN2_BASE ) && ( CAN_NUM > 1 )
633
+ #if defined(CAN2_BASE ) && defined( CAN_2 )
634
634
else if ((CANName ) can == CAN_2 ) {
635
635
switch (type ) {
636
636
case IRQ_RX :
@@ -663,7 +663,7 @@ void can_irq_set(can_t *obj, CanIrqType type, uint32_t enable)
663
663
}
664
664
}
665
665
#endif
666
- #if defined(CAN3_BASE ) && ( CAN_NUM > 2 )
666
+ #if defined(CAN3_BASE ) && defined( CAN_3 )
667
667
else if ((CANName ) can == CAN_3 ) {
668
668
switch (type ) {
669
669
case IRQ_RX :
0 commit comments