@@ -125,21 +125,25 @@ void uart_init(serial_t *obj)
125
125
printf ("ERROR: UART pins mismatch\n" );
126
126
return ;
127
127
}
128
-
129
128
// Enable USART clock
130
- if (obj -> uart == USART1 ) {
129
+ #if defined(USART1_BASE )
130
+ else if (obj -> uart == USART1 ) {
131
131
__HAL_RCC_USART1_FORCE_RESET ();
132
132
__HAL_RCC_USART1_RELEASE_RESET ();
133
133
__HAL_RCC_USART1_CLK_ENABLE ();
134
134
obj -> index = 0 ;
135
135
obj -> irq = USART1_IRQn ;
136
- } else if (obj -> uart == USART2 ) {
136
+ }
137
+ #endif
138
+ #if defined(USART2_BASE )
139
+ else if (obj -> uart == USART2 ) {
137
140
__HAL_RCC_USART2_FORCE_RESET ();
138
141
__HAL_RCC_USART2_RELEASE_RESET ();
139
142
__HAL_RCC_USART2_CLK_ENABLE ();
140
143
obj -> index = 1 ;
141
144
obj -> irq = USART2_IRQn ;
142
145
}
146
+ #endif
143
147
#if defined(USART3_BASE )
144
148
else if (obj -> uart == USART3 ) {
145
149
__HAL_RCC_USART3_FORCE_RESET ();
@@ -300,16 +304,20 @@ void uart_deinit(serial_t *obj)
300
304
{
301
305
// Reset UART and disable clock
302
306
switch (obj -> index ) {
307
+ #if defined(USART1_BASE )
303
308
case 0 :
304
309
__HAL_RCC_USART1_FORCE_RESET ();
305
310
__HAL_RCC_USART1_RELEASE_RESET ();
306
311
__HAL_RCC_USART1_CLK_DISABLE ();
307
312
break ;
313
+ #endif
314
+ #if defined(USART2_BASE )
308
315
case 1 :
309
316
__HAL_RCC_USART2_FORCE_RESET ();
310
317
__HAL_RCC_USART2_RELEASE_RESET ();
311
318
__HAL_RCC_USART2_CLK_DISABLE ();
312
319
break ;
320
+ #endif
313
321
#if defined(USART3_BASE )
314
322
case 2 :
315
323
__HAL_RCC_USART3_FORCE_RESET ();
@@ -670,22 +678,26 @@ void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
670
678
* @param None
671
679
* @retval None
672
680
*/
681
+ #if defined(USART1_BASE )
673
682
void USART1_IRQHandler (void )
674
683
{
675
684
HAL_NVIC_ClearPendingIRQ (USART1_IRQn );
676
685
HAL_UART_IRQHandler (uart_handlers [0 ]);
677
686
}
687
+ #endif
678
688
679
689
/**
680
690
* @brief USART 2 IRQ handler
681
691
* @param None
682
692
* @retval None
683
693
*/
694
+ #if defined(USART2_BASE )
684
695
void USART2_IRQHandler (void )
685
696
{
686
697
HAL_NVIC_ClearPendingIRQ (USART2_IRQn );
687
698
HAL_UART_IRQHandler (uart_handlers [1 ]);
688
699
}
700
+ #endif
689
701
690
702
/**
691
703
* @brief USART 3 IRQ handler
0 commit comments