STM32/STM8技术论坛
直播中

jf_69810569

未满1年用户 6经验值
擅长:嵌入式技术 控制/MCU
私信 关注
[问答]

求助:STM32F407串口控制外设无效,用电脑串口助手有效

大家好,请教一个stm32串口通信的问题:我买了一个数控开关电源,可以程序控制输出的电压电流。四个针脚串口通信,分别是VCC(5V), TX, GND, RX。信号电压3.3V,波特率9600。用ttl转usb接到电脑,用串口调试助手发信号(9600baud),可以正常控制该数控电源。但把电脑换成一块stm32F407板,发USART1信号(9600baud,板的USART1通过CH340G转成type C USB出来的),电源没有反应,而且板上表示串口通信的led也不亮(该LED直连PA9,USART1_TX)(后来偶尔不知道做了什么操作,也是会亮的,但数控电源依然没反应)。然而把这块板直接连电脑发信号(代码不做任何改动),电脑的串口助手可以正常收到信号,表示串口通信的led也正常闪烁。板上的程序是别人写的,初步看了一下没发现问题。请问情况可能问题出在哪里?目前感觉像是串口的某些基本设置没搞对,连电脑是可以兼容的,但连这个数控电源就不行,直接不发信号了。电源接收端的信号电压5V和3.3V都试过,结果都一样。USB直接供电和外接独立的5V供电也都试过,结果一样。TX和RX也交换过,都不行。也怀疑过是线的问题,因为用的type C转TTL线跟用电脑连数控电源的那根type A转TTL不一样。但是试过先接typeC转A再接type A转TTL,结果不变。也试过用板连电脑的那根typeC转A线,接一个typeA母转typeA母,再接type A转TTL连数控电源,结果不变。所以似乎不是线的问题。

折腾好几天了,求线索,求解答。谢谢!

回帖(3)

打马过草原

2024-7-7 15:05:12

最佳答案

根据您的描述,问题可能出现在以下几个方面:

1. 串口初始化设置:请检查STM32F407的串口初始化设置是否正确。确保波特率、数据位、停止位和奇偶校验位与数控电源的串口设置相匹配。

2. 串口驱动问题:可能是STM32F407的串口驱动与数控电源不兼容。您可以尝试更新STM32F407的串口驱动,或者在代码中修改串口驱动的相关设置。

3. 电源问题:请确保STM32F407板子的电源稳定,且与数控电源的电源电压相匹配。如果电源不稳定,可能会导致串口通信失败。

4. 接线问题:请检查STM32F407板子与数控电源之间的接线是否正确。确保TX和RX针脚正确连接,且没有接触不良的情况。

5. 代码问题:虽然您提到代码是别人写的,但仍然建议您仔细检查代码,看看是否有可能影响串口通信的部分。例如,检查是否有串口中断、DMA等设置不当的地方。

6. 硬件问题:如果以上方法都无法解决问题,可能是STM32F407板子的硬件存在问题。您可以尝试更换一块板子,看看问题是否依然存在。

建议您按照以上几个方面进行排查,希望能帮助您找到问题所在并解决。
2 举报
  • jf_69810569: 你好,感谢回复!很详细,其中有一些我都尝试过了。前两天我找到一个部分解决方案,就是我把PA9、PA10直接引出接到数控电源的TXD和RXD就成功了。原先这两个端口是直连板载CH340G转换成USB再接出的,用USB转TTL线连接数控电源就不好用了,原因不明。反正现在凑合能用了,就是飞两根线有点难看而已。
  • jf_69810569: 感谢回复!很详细,其中很多我也尝试过。后来找到一个部分解决方案:我把PA9、PA10直接引出接到数控电源的TXD和RXD就成功了。原先这两个端口是直连板载CH340G转换成USB再接出的,用USB转TTL线连接数控电源就不好用了,原因不明。反正现在至少能用了,就是飞两根线难看一点。

王康

2024-7-8 17:36:27
谢了,东西很有用!!!!
举报

jf_69810569

2024-7-9 16:42:34
我是题主,在最佳回答下面评论了好几次好像发不出来,在这里单独写一个回答吧:后来我找到一个部分解决方案:我把PA9、PA10直接引出接到数控电源的TXD和RXD就成功了。原先这两个端口是直连板载CH340G转换成USB再接出的,用USB转TTL线连接数控电源就不好用了,原因不明。反正现在至少能用了,就是飞两根线难看一点。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分