因此,过去一周我一直在努力获取从STM32F407发送的UART消息,并使用白蚁通过ugreen RS232到USB电缆在笔记本电脑上读取它。
我已经使用STMCube生成代码并通过阅读“ stm32f4xx_hal_uart.c”文件顶部的相关说明来添加代码(并观看了大量视频并在线阅读)。
我已经在示波器上检查了传输的消息,它匹配了它的ASCII表示形式。
例如,我发送的“ Q”为0101 0001,我收到的“ W”为01010111。示波器上的读数显示:
我已经确认白蚁和代码中的波特率/奇偶校验/ HWcontrol匹配。
为了获得正确的字符,我尝试降低和提高波特率。
我尝试使用不同的字符集来尝试查找导致显示错误字符的模式。
另外,我尝试了其他终端,例如在Putty或Teraterm上。
1
该轨迹左侧带有黄色背景的符号-这就是(0V电平),然后在0V以下发出脉冲。对于直接来自STM32的逻辑信号来说,这不是正确的,实际上,这不是正确的。在左下角,您已将通道1设置为AC耦合(这是在~
那里看到的符号)。信号实际上是高空转并且脉冲到0V左右。使用DC耦合可以清晰地查看该信号。