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

hahaygy   2012-11-28 20:58 楼主
本人在用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)

用同样这么玩过的朋友吗???
点赞  2012-11-28 21:00
串口发送的原理分析一下,有没有起始位,停止位,校验位呢
点赞  2012-11-28 22:19

回复 板凳 tiankai001 的帖子

刚才根据串口发送的原理分析了一下,我测到的波形是通过MAX232芯片转换过的电平,都是反转的。所以我明白了第一个1 即为0(起始位),中间的001即为110 (第一个1为停止位,最后那个0为下一帧的起始位,但是第二个1又代表什么呢?我设置的停止位是一位啊,怎么会出现两个呢?)

还有请问用什么软件可以直接检测到串口收发的二进制数据呢,我用过一个叫AccessPort的软件,只能直接看到十六进制的数,那些停止位 起始位什么的都看不到。。。
点赞  2012-11-29 10:54
好啊,这才是学习的态度,日后必有大为
点赞  2012-11-29 18:55
停止位 起始位看不到是正常的得用示波器才看到停止位 起始位是給串口接收器看的
点赞  2012-12-7 21:11
找个串口监控软件就可以看到了
工程 = 数学+物理+经济
点赞  2012-12-8 00:09
楼主好样的
点赞  2012-12-10 09:48
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复