大家好,请教一个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连数控电源,结果不变。所以似乎不是线的问题。
折腾好几天了,求线索,求解答。谢谢! |