您好我使用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)},
但它仍然无效。有什么想法吗?
答案 0 :(得分:1)
请参阅https://github.com/ARMmbed/mbed-os/issues/5389,波特率需要设置为[sys_clk / 4096 ... sys_clk / 3]
。该设备上的系统时钟运行频率为80MHz。您可以在此板的HAL中修复它,直到部署了真正的修复程序。