如何在电脑上看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
2019-03-24 07:42
刚才根据串口发送的原理分析了一下,我测到的波形是通过MAX232芯片转换过的电平,都是反转的。所以我明白了第一个1 即为0(起始位),中间的001即为110 (第一个1为停止位,最后那个0为下一帧的起始位,但是第二个1又代表什么呢?我设置的停止位是一位啊,怎么会出现两个呢?)

还有请问用什么软件可以直接检测到串口收发的二进制数据呢,我用过一个叫AccessPort的软件,只能直接看到十六进制的数,那些停止位 起始位什么的都看不到。。。

一周热门 更多>