HAL库串口发送问题,死在UART_WaitOnFlagUntilTimeout中

串口调用 HAL_UART_Transmit 函数循环发送数据时,正常函数传参的值如图1所示:

blob.png

发送几帧数据之后,就会进入到UART_WaitOnFlagUntilTimeout中,异常情况下,指针所指地址发生了改变,如下图所示:blob.png

如下是测试的断点示意图,在第一个断点的时候并没有出错,当进入while循环之后,指针就发生了错误:

blob.png

请教各位大神。


已邀请:

天下6662013

赞同来自:

我也遇到这种问题,很奇怪,有时候将usb to TTL插拔下,或者将上面的3.3V或5V的短路帽去掉,好像就可以了,是不是会遇到这个问题,

乌龟也会飞

赞同来自:

HAL_UART_Transmit 超时参数填为0试试

金和仪器

赞同来自:

超时参数填为0,每次都发生超时返回。

ee168

赞同来自:

今天我也遇到了,搜了一下查到这里,网上也没有再找到什么明确的解决办法,不过看到一点提示

检测电压,发现sda,scl电压为零,换芯片一样,发现配置cubeMx时管脚配置错误,修改后,电压恢复为3V,OK了

要回复问题请先登录注册