amobbs.com 阿莫电子技术论坛

标题: STM32F4XX的USART6有什么不同地方?接收到数据都是0 [打印本页]

作者: 68336016    时间: 2024-4-16 21:24
标题: STM32F4XX的USART6有什么不同地方?接收到数据都是0
本帖最后由 68336016 于 2024-4-16 22:01 编辑

STM32F401RCT6
这个USART6我一直是当作调试串口(异步),只往电脑发送调试信息,还没接收过电脑串口发来的数据。
今天从电脑往STM32F4的USART6发送数据,回调函数里面的闪灯是正常运行的,那说明串口线也是好的,接收中断也是正常的。
STM32也可以正常发送字符串到电脑,说明波特率也没什么问题。

可是在回调函数里将接收到的字符立刻回传给电脑,却显示为0x00。
RxChar是全局的uint8_t变量。

试了几个板都这样,在这个回调函数里面操作连接USART1的串口屏,数据收发都是正常的,就是这个USART6没搞顺,设置都几乎一样的。

-------------------------------------------------------
是自己低级错误的导致的问题,后面有跟帖说明了

[attach]638955[/attach]

[attach]638956[/attach]
作者: lb0857    时间: 2024-4-16 21:34
使用hal库,有故障就是难查一些。
缓冲器大小设置对吗?
溢出了?
作者: yuyu87    时间: 2024-4-16 21:56
有问题就对着手册看,不要过分依赖库
作者: 68336016    时间: 2024-4-16 22:00
lb0857 发表于 2024-4-16 21:34
使用hal库,有故障就是难查一些。
缓冲器大小设置对吗?
溢出了?
(引用自2楼)

自己的低级问题,我的这根USB转串口线,之前可能为了电平转换,TXD上串联了个1N4148二极管,这样输出高电平就靠目标板的IO口自身上拉来实现。

HAL库生成串口代码,默认是不上拉不下拉的,所以这根串口线造成高电平无法识别,将上拉打开也凑合能用了。

串口线比较多,有些线改动了,自己都没留意,随手拿来就用,一直只从单片机接收数据,导致之前没发现这个问题。


作者: 68336016    时间: 2024-4-16 22:02
yuyu87 发表于 2024-4-16 21:56
有问题就对着手册看,不要过分依赖库
(引用自3楼)

自己的低级错误,用错串口线,浪费自己一个下午和晚上找原因
作者: lb0857    时间: 2024-4-16 22:08
68336016 发表于 2024-4-16 22:02
自己的低级错误,用错串口线,浪费自己一个下午和晚上找原因
(引用自5楼)

这种人为故障,难。
幸亏不是公司上班,项目经理没有发火催着要,火急火燎的估计要一个通宵达旦
作者: 1a2b3c    时间: 2024-4-16 23:45
要是有个示波器看一眼rx脚波形不是一秒钟的事情吗?
软件工程师和硬件出身的半拉子软件工程师的区别,😏……
作者: 1a2b3c    时间: 2024-4-16 23:48
这种情况,按照我所谓的经验,我首先看有没有收到数据,收到了,打印出来接收的内容看看是啥,
如果是全零,那么首先想到的是可能rx脚被一直拉低了,或者波特率不对,这时候就会上示波器了,
作者: 68336016    时间: 2024-4-16 23:54
1a2b3c 发表于 2024-4-16 23:45
要是有个示波器看一眼rx脚波形不是一秒钟的事情吗?
软件工程师和硬件出身的半拉子软件工程师的区别,😏… ...
(引用自7楼)

我什么装备都有,只不过我看板上收到数据,LED会闪烁,理所当然就认为硬件没问题了,自然觉得用逻辑分析仪或者示波器没必要。
作者: kitten    时间: 2024-4-17 00:21
lb0857 发表于 2024-4-16 21:34
使用hal库,有故障就是难查一些。
缓冲器大小设置对吗?
溢出了?
(引用自2楼)

HAL库差点蒙冤
作者: lb0857    时间: 2024-4-17 08:14
1a2b3c 发表于 2024-4-16 23:45
要是有个示波器看一眼rx脚波形不是一秒钟的事情吗?
软件工程师和硬件出身的半拉子软件工程师的区别,😏… ...

(引用自7楼)

软硬结合不是更有经验
作者: yuyu87    时间: 2024-4-17 08:44
我觉得一定要有逻辑分析仪,特别是调I2C,串口,或者QSPI等这些东西,有了这个就太方便了。
作者: 68336016    时间: 2024-4-17 09:02
yuyu87 发表于 2024-4-17 08:44
我觉得一定要有逻辑分析仪,特别是调I2C,串口,或者QSPI等这些东西,有了这个就太方便了。 ...
(引用自12楼)

工具都有,以前还用。后来就很少用了,经验主义觉得不会有问题,就根本不会想着去测一下。
作者: 1a2b3c    时间: 2024-4-17 12:11
yuyu87 发表于 2024-4-17 08:44
我觉得一定要有逻辑分析仪,特别是调I2C,串口,或者QSPI等这些东西,有了这个就太方便了。 ...
(引用自12楼)

示波器其实更好,可以看出深层次的问题,比如线上的冲突(两边都是输出模式,打架了等等),逻辑仪看不出来的,示波器我们一眼就看出来是不是打架了😊
还有像你说的iic总线的ack位,实际上示波器来看更方便真实,总线被拉低的情况一目了然,还可以方便的看出上啦电子大了还是小了等等,因为毕竟是模拟信号嘛,
作者: 1a2b3c    时间: 2024-4-17 12:12
lb0857 发表于 2024-4-17 08:14
软硬结合不是更有经验
(引用自11楼)

我就是那个半拉子啦……
所以经验嘛哈哈
作者: lb0857    时间: 2024-4-17 12:38
1a2b3c 发表于 2024-4-17 12:11
示波器其实更好,可以看出深层次的问题,比如线上的冲突(两边都是输出模式,打架了等等),逻辑仪看不出 ...
(引用自14楼)

论有一个配置好的示波器的原因
作者: 1a2b3c    时间: 2024-4-17 12:49
lb0857 发表于 2024-4-17 12:38
论有一个配置好的示波器的原因
(引用自16楼)

哈哈对的,必须得好,
我手上这个是2010年买的 MSO7104B,4通道模拟+16通道逻辑@1GHz
所以我们平时反而习惯用4个通道的模拟探头来代替逻辑头查看原始信号。。。
作者: yuyu87    时间: 2024-4-17 13:39
1a2b3c 发表于 2024-4-17 12:11
示波器其实更好,可以看出深层次的问题,比如线上的冲突(两边都是输出模式,打架了等等),逻辑仪看不出 ...
(引用自14楼)

对的,有条件当然两个都要配,但逻辑分析仪便宜很多,实力不允许的话买这个,1-300元就有。
作者: lb0857    时间: 2024-4-17 16:09
1a2b3c 发表于 2024-4-17 12:49
哈哈对的,必须得好,
我手上这个是2010年买的 MSO7104B,4通道模拟+16通道逻辑@1GHz
所以我们平时反而习 ...
(引用自17楼)

海鲜市场上面6-8k
看来当初是70-100k的购买的吧
作者: 1a2b3c    时间: 2024-4-17 17:41
lb0857 发表于 2024-4-17 16:09
海鲜市场上面6-8k
看来当初是70-100k的购买的吧

(引用自19楼)


6-8k现在?
我马上提一台!
是7104,不是7014 😄
作者: 1a2b3c    时间: 2024-4-17 17:45
lb0857 发表于 2024-4-17 16:09
海鲜市场上面6-8k
看来当初是70-100k的购买的吧

(引用自19楼)

印象中是 18-20w样子




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4