|
17 | 17 |
|
18 | 18 | #include "serial_api_hal.h"
|
19 | 19 |
|
| 20 | +#if defined (STM32GBK1CB) |
| 21 | +#define UART_NUM (4) |
| 22 | +#elif defined (STM32G431xx) || defined (STM32G441xx) |
| 23 | +#define UART_NUM (5) |
| 24 | +#else |
20 | 25 | #define UART_NUM (6)
|
21 |
| - |
| 26 | +#endif |
22 | 27 |
|
23 | 28 | uint32_t serial_irq_ids[UART_NUM] = {0};
|
24 | 29 | UART_HandleTypeDef uart_handlers[UART_NUM];
|
@@ -80,13 +85,20 @@ static void uart3_irq(void)
|
80 | 85 | }
|
81 | 86 | #endif
|
82 | 87 |
|
83 |
| -#if defined(USART4_BASE) |
| 88 | +#if defined(UART4_BASE) |
84 | 89 | static void uart4_irq(void)
|
85 | 90 | {
|
86 | 91 | uart_irq(UART_4);
|
87 | 92 | }
|
88 | 93 | #endif
|
89 | 94 |
|
| 95 | +#if defined(UART5_BASE) |
| 96 | +static void uart5_irq(void) |
| 97 | +{ |
| 98 | + uart_irq(UART_5); |
| 99 | +} |
| 100 | +#endif |
| 101 | + |
90 | 102 | #if defined(LPUART1_BASE)
|
91 | 103 | static void lpuart1_irq(void)
|
92 | 104 | {
|
@@ -130,13 +142,20 @@ void serial_irq_set(serial_t *obj, SerialIrq irq, uint32_t enable)
|
130 | 142 | }
|
131 | 143 | #endif
|
132 | 144 |
|
133 |
| -#if defined(USART4_BASE) |
| 145 | +#if defined(UART4_BASE) |
134 | 146 | if (obj_s->uart == UART_4) {
|
135 |
| - irq_n = USART3_4_LPUART1_IRQn; |
| 147 | + irq_n = UART4_IRQn; |
136 | 148 | vector = (uint32_t)&uart4_irq;
|
137 | 149 | }
|
138 | 150 | #endif
|
139 | 151 |
|
| 152 | +#if defined(UART5_BASE) |
| 153 | + if (obj_s->uart == UART_5) { |
| 154 | + irq_n = UART5_IRQn; |
| 155 | + vector = (uint32_t)&uart5_irq; |
| 156 | + } |
| 157 | +#endif |
| 158 | + |
140 | 159 | #if defined(LPUART1_BASE)
|
141 | 160 | if (obj_s->uart == LPUART_1) {
|
142 | 161 | irq_n = LPUART1_IRQn;
|
@@ -318,18 +337,22 @@ static IRQn_Type serial_get_irq_n(UARTName uart_name)
|
318 | 337 | #endif
|
319 | 338 | #if defined(USART3_BASE)
|
320 | 339 | case UART_3:
|
321 |
| - irq_n = USART3_4_LPUART1_IRQn; |
| 340 | + irq_n = USART3_IRQn; |
322 | 341 | break;
|
323 | 342 | #endif
|
324 |
| -#if defined(USART4_BASE) |
| 343 | +#if defined(UART4_BASE) |
325 | 344 | case UART_4:
|
326 |
| - irq_n = USART3_4_LPUART1_IRQn; |
| 345 | + irq_n = UART4_IRQn; |
| 346 | + break; |
| 347 | +#endif |
| 348 | +#if defined(UART5_BASE) |
| 349 | + case UART_5: |
| 350 | + irq_n = UART5_IRQn; |
327 | 351 | break;
|
328 | 352 | #endif
|
329 |
| - |
330 | 353 | #if defined(LPUART1_BASE)
|
331 | 354 | case LPUART_1:
|
332 |
| - irq_n = USART3_4_LPUART1_IRQn; |
| 355 | + irq_n = LPUART1_IRQn; |
333 | 356 | break;
|
334 | 357 | #endif
|
335 | 358 | default:
|
|
0 commit comments