为什么我不能通过RS232成功发送消息?

2019-07-14 17:23发布

在过去的一周里,我一直希望从STM32F407发送UART消息,并使用白蚁通过ugreen RS232转USB电缆在笔记本电脑上读取它。我已经使用STMCube生成代码并通过阅读“stm32f4xx_hal_uart.c”文件顶部的相关说明(并观看大量视频和在线阅读)添加代码。我在示波器上检查了传输的消息,并且它与ASCII表示相匹配。例如,我发送'Q',它是0101 0001,我收到'W',它是0101 0111.范围上的读数显示: 1.png 白蚁输出与示波器上显示的信号相同。 2.png 我已确认波特率/奇偶校验/ HWcontrol在白蚁和我的代码中是匹配的。为了获得正确的字符,我尝试降低和提高波特率。
我尝试过不同的字符集来尝试查找导致显示错误字符的模式。
另外我尝试过不同的终端,比如Putty或Teraterm。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
LANxs
1楼-- · 2019-07-15 17:44
RS232在空闲时为-V,在启动时为> + 2V,但对于数据为负电压(0 = V +,1 = V-),在V-上停止。RS-232的范围是1.4~1.5V
zyh34997
2楼-- · 2019-07-15 23:12
谢谢楼上的解答,这更具可读性和合理性。我的图1显示了RX的阈值电压。所有状态TX为±5 V,RX为±3 V.
blueshine
3楼-- · 2019-07-16 03:57
 精彩回答 2  元偷偷看……
李春明
4楼-- · 2019-07-16 07:48
不太清楚  学习一下
芯联天下
5楼-- · 2019-07-16 10:26
过来学习学习。

问:如何回应“人的眼睛有 5.76 亿像素,却终究看不懂人心”?



神回复:你有100亿个脑细胞,却尽想些没营养的问题。哈哈哈

一周热门 更多>