完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,请教一个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个回答
|
|
根据您的描述,问题可能出现在以下几个方面:
1. 串口初始化设置:请检查STM32F407的串口初始化设置是否正确。确保波特率、数据位、停止位和奇偶校验位与数控电源的串口设置相匹配。 2. 串口驱动问题:可能是STM32F407的串口驱动与数控电源不兼容。您可以尝试更新STM32F407的串口驱动,或者在代码中修改串口驱动的相关设置。 3. 电源问题:请确保STM32F407板子的电源稳定,且与数控电源的电源电压相匹配。如果电源不稳定,可能会导致串口通信失败。 4. 接线问题:请检查STM32F407板子与数控电源之间的接线是否正确。确保TX和RX针脚正确连接,且没有接触不良的情况。 5. 代码问题:虽然您提到代码是别人写的,但仍然建议您仔细检查代码,看看是否有可能影响串口通信的部分。例如,检查是否有串口中断、DMA等设置不当的地方。 6. 硬件问题:如果以上方法都无法解决问题,可能是STM32F407板子的硬件存在问题。您可以尝试更换一块板子,看看问题是否依然存在。 建议您按照以上几个方面进行排查,希望能帮助您找到问题所在并解决。
最佳答案
|
|
2 条评论
|
|
谢了,东西很有用!!!!
|
|
|
|
我是题主,在最佳回答下面评论了好几次好像发不出来,在这里单独写一个回答吧:后来我找到一个部分解决方案:我把PA9、PA10直接引出接到数控电源的TXD和RXD就成功了。原先这两个端口是直连板载CH340G转换成USB再接出的,用USB转TTL线连接数控电源就不好用了,原因不明。反正现在至少能用了,就是飞两根线难看一点。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1016 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
787 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1174 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1643 浏览 1 评论
544 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 12:16 , Processed in 0.447297 second(s), Total 53, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号