LPUART1无法在STM32L476上工作(基于VisualGDB)

时间:2017-10-29 08:44:22

标签: stm32 mbed nucleo visualgdb

您好我使用MBED开发了基于Discovery L476主板(STM32L476VGT6)的主板,并在将其移植到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 个答案:

答案 0 :(得分:1)

请参阅https://github.com/ARMmbed/mbed-os/issues/5389,波特率需要设置为[sys_clk / 4096 ... sys_clk / 3]。该设备上的系统时钟运行频率为80MHz。您可以在此板的HAL中修复它,直到部署了真正的修复程序。