如何在电脑上看STM32 串口RS232 收发的具体数据(二进制)

2019-03-23 19:24发布

本人在用STM32F103ZET6的一块开发板学习中,
目前在用串口收发数据,突发奇想 看看收发的数据在传送过程中是怎么传输的。
因此我把示波器的探头夹在了板子串口收发的引脚上,用板子给电脑发送十六进制数。
通过示波器我看到了高地电位的变化,也就是二进制的波形,
我将波形记录下来,与我程序中所发的十六进制数对比,
例如:我在程序中发送0x01 ,0x0F 这两个十六进制数,而在示波器上看到的则是   

               1 0111 1111 001 0000 1111
           通过对划线部分按位取反,
              也就是将0111 11110000 1111 按位取反得到 1000 0000 与 1111 0000
           再分别从后往前写得到 0000 0001 与 0000 1111
              换算成十六进制 即为 0x01, 0x0F
           这也是我在串口助手上接收窗口里看到的数。
           我的串口设置是:波特率2400   数据位8  停止位1  校验位 无

现在我想请问各位高手,我所发送数据所显示出的波形中,
第一个1 是什么意思?
两组8位中间的 001 又是什么意思?

有没有什么串口监控软件可以取代示波器,直接在电脑上看到串口发送的所有二进制的数呢??? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
hahaygy
1楼-- · 2019-03-23 23:54
/ 用同样这么玩过的朋友吗???
tiankai001
2楼-- · 2019-03-24 01:54
 精彩回答 2  元偷偷看……
hahaygy
3楼-- · 2019-03-24 07:42
刚才根据串口发送的原理分析了一下,我测到的波形是通过MAX232芯片转换过的电平,都是反转的。所以我明白了第一个1 即为0(起始位),中间的001即为110 (第一个1为停止位,最后那个0为下一帧的起始位,但是第二个1又代表什么呢?我设置的停止位是一位啊,怎么会出现两个呢?)

还有请问用什么软件可以直接检测到串口收发的二进制数据呢,我用过一个叫AccessPort的软件,只能直接看到十六进制的数,那些停止位 起始位什么的都看不到。。。
Li_Lei
4楼-- · 2019-03-24 10:52
好啊,这才是学习的态度,日后必有大为
smtmike
5楼-- · 2019-03-24 13:23
 精彩回答 2  元偷偷看……
安_然
6楼-- · 2019-03-24 16:55
找个串口监控软件就可以看到了

一周热门 更多>