OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 12798|回复: 6

(分享)串口调试助手的十六进制发送

[复制链接]

20

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2013-9-21
在线时间
0 小时
发表于 2014-7-19 21:36:26 | 显示全部楼层 |阅读模式
    这两天调试一个zigbee模块,要求命令要求使用16进制格式发送给模块。
    用串口助手的16进制发送功能控制zigbee,换单片机发送怎么试都不好用,只知道是数据格式转换有问题,一直没搞明白串口助手的16进制发送是怎么发的,直到网上看到一篇文章,下边直接复制过来了。

   

    在使用串口发送数据时可以选择字符串发送或者十六进制发送,通常情况下我们习惯选用字符串发送数据。关于两者的区别,需要从计算机存储数据的格式说起。

        在计算机中,数据是以二进制的形式存储的,例如十进制 1(10)在计算机中用 0000 0001(2)来表示。我们在用串口发送数据的时候首先将待数据转换为对应的ASCII码,然后再将这些ASCII码按照二进制的方式一位一位的发送出去。

例如我们要发送一串数据“A852010100000000A91A”,以字符串和十六进制两种方式发送:

(1)字符串发送

         串口以字符串发送数据,首先将字符串转化为二进制,格式如下:

          0000 1010     0000 1000    0000 0110    0000 0010    0000 0000   0000 0001   0000 0000    0000 0001 

                A                   8                  5                      2                    0                1                    0                    1

 

          0000 0000     0000 0000   0000 0000    0000 0000     0000 1010    0000 1001    0000 0001    0000 1010

                          0                   0                     0                   0                    A                   9                   1                   A

         然后按照8位(串口设置数据位为8位)形式将数据发送出去。

         串口接收的数据格式如下:

              

编号

数据内容

编号

数据内容

0

A

8

0

1

8

9

0

2

5

10

0

3

2

11

0

4

0

12

A

5

1

13

9

6

0

14

1

7

1

15

A

 (2)十六进制发送数据

          串口以十六进制发送数据,首先将数据转化为:

          1010 1000     0110 0010    0000 0001     0000 0001    0000 0000    0000 0000     1010 1001     0001 1010

              0XA8            0X52               0X01             0X01              0X00           0X00                0XA9            0X1A 

         然后按照8位(串口设置数据位为8位)形式将数据发送出去。

         串口接收的数据格式如下:

编号

数据内容

编号

数据内容

0

A8

4

00

1

52

5

00

2

01

6

A9

3

01

7

1A

 

          仔细对照接收结果就很容易明白字符串发送和十六进制发送的区别了。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-7-19 23:22:18 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2014-12-25
在线时间
0 小时
发表于 2015-1-22 09:06:48 | 显示全部楼层
学习啦  谢谢分享
试试就知道
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2015-8-20
在线时间
0 小时
发表于 2015-10-29 10:46:35 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
楼上分享的东西是正确的吗?A的ASCII码显然不是0000 1010,同样每个数都不对应
回复 支持 反对

使用道具 举报

16

主题

75

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2013-11-23
在线时间
6 小时
发表于 2015-12-15 16:28:00 | 显示全部楼层
楼主,你的单片机串口和zb通信功能怎么实现的?我的问题和楼主一样,但是发送过去单片机并不能照常发送
回复 支持 反对

使用道具 举报

11

主题

92

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2016-3-27
在线时间
83 小时
发表于 2016-9-8 17:23:21 | 显示全部楼层
senhau 发表于 2015-10-29 10:46
**** 作者被禁止或删除 内容自动屏蔽 ****

我怎么也觉得不对劲。。。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2016-11-8
在线时间
0 小时
发表于 2016-11-8 17:08:25 | 显示全部楼层
楼主 我也在弄这个  请问你发送过去  ZIGBEE发送回来的数据 你是怎么显示,转换,分析的   我QQ1041458464   麻烦告诉我一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 21:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表