LPUART1 не работает на STM32L476 (на основе VisualGDB)

Привет, я разработал плату на основе платы Discovery L476 (STM32L476VGT6) с использованием MBED, и после портирования ее на VisualGDB все работает отлично. Единственное, что не работает, это LPUART1. Я подключил его к PB10(LPUART1_RX), PB11(LPUART1_TX), но всякий раз, когда я объявляю порт в своем коде и загружаю его, программа зависает и даже не запускается:

Serial RS232(PB_11, PB_10);

Если я удаляю эту строку, код работает отлично (но я не могу использовать этот порт)

Я изменил определения выводов в PeripheralPins.c, чтобы PB10 и PB11 работали как выводы LPUART TX и RX: (я добавил строки)

const PinMap PinMap_UART_RX[] = { {PB_10, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)},

//

const PinMap PinMap_UART_TX[] = { {PB_11, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)},

но это все еще не работает. Есть идеи?

1 ответ

См. https://github.com/ARMmbed/mbed-os/issues/5389, скорость передачи данных должна быть установлена ​​на [sys_clk / 4096 ... sys_clk / 3], Системные часы на этом устройстве работают на 80 МГц. Вы можете исправить это в HAL для этой платы, пока не будет установлено реальное исправление.

Другие вопросы по тегам