STM32L476 SensorTile:映射第二路UART RX接GPS且规避SPI冲突硬故障
解决方案:STEVAL-STLKT01V1扩展板第二路UART RX配置
问题1:独立UART/LPUART RX引脚推荐
直接推荐PC0(对应Arduino兼容接口的A0引脚),理由:
- 该引脚在STEVAL-STLCX01V1上完全独立,未连接到板载MEMS传感器的SPI/I2C总线,复用为
LPUART1_RX不会触发硬件冲突; - LPUART1支持115200波特率,满足GPS模块的通信要求,DMA循环接收模式也能正常配置。
备选方案:PB11(Arduino接口的D10引脚),需断开扩展板背面的焊桥SB10(默认连接SPI3_NSS),之后可配置为USART3_RX,但需要动手修改硬件,优先级低于PC0方案。
问题2:已验证的第二路UART配置案例
不少开发者成功用**LPUART1_RX(PC0)**实现第二路UART接收,无需修改焊桥,配置步骤如下:
- 在STM32CubeIDE的CubeMX配置界面,将PC0的复用功能设为
LPUART1_RX; - 配置LPUART1参数:波特率115200、8数据位、1停止位、无奇偶校验;
- 开启DMA接收,选择循环模式,设置合适的缓冲区大小(比如128字节,适配NMEA语句长度);
- 在FreeRTOS任务中通过DMA回调函数处理接收数据,解析NMEA语句即可。
如果选择USART3_RX(PB11),断开SB10后重复上述配置步骤(对应USART3外设)也能正常工作,但需要额外硬件操作。
内容的提问来源于stack exchange,提问作者Alessandro Ripani
相关产品推荐
相关产品推荐

