鱼C论坛

 找回密码
 立即注册
查看: 2295|回复: 8

不知如何问的问题 0x 00 58

[复制链接]
发表于 2014-2-27 02:37:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
QQ图片20140227023339.jpg

上面是格式说明
QQ图片20140227023501111发.jpg

下面是实际收到的数据
上面的格式来分析

02 03 04 05 是固定的
00 0c  2字节 应该是 12 但为什么是 00 0c  12不是 0c 00吗
同样的问题 设备ID  00 58  对应的 88 我咋试感觉应该是  58 00 才对呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-2-27 02:39:06 | 显示全部楼层
00 0c 转短整型 也不是 12 啊  而是  3072
0c 00 转短整型 才是 12   

00 58 转短整型    22528
58 00 转短整型    88

是我分析错了,还是 他说明有问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-27 02:46:10 | 显示全部楼层
完整协议 30阅读器与电子标签通信协议.rar (57.79 KB, 下载次数: 0)

附加一段数据  02 03 04 05 00 0C 00 58 42 00 00 B4

02 03 04 05 固定的头   这个没问题

00 0c 是长度       应该是12   这个不知道怎么转的12
00 58 是ID          应该是 88     这个不知道怎么转的88
42  是指令代码   B  这个没问题
00  一个递增值
00  没有和和协议对上
b4  校验和
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-27 03:19:10 | 显示全部楼层
存储的时候高地位会变

给你贴一段转来的就明白了



大小端模式
为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于 8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。例如一个16bit的short型x,在内存中的地址为0x0010,x的值为0x1122,那么0x11为高字节,0x22为低字节。对于 大端模式,就将0x11放在低地址中,即0x0010中,0x22放在高地址中,即0x0011中。小端模式,刚好相反。我们常用的X86结构是小端模式,而KEIL C51则为大端模式。很多的ARM,DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-27 03:36:50 | 显示全部楼层
那我要如何解决啊? 还是说他就是返过来存放的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-27 03:41:05 | 显示全部楼层
短整型 按他的方法  是不是  只要把 前后颠倒一下就可以了,楼上的大家说的太专业
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-27 12:30:49 | 显示全部楼层

d.png

#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
        char a[]={0,0xC,0,0x58};
         short *b=(short *)a;
        short *c=(short *)a+1;
        printf("%02X %02X %02X %02X  \n",a[0],a[1],a[2],a[3]);
        printf("%d\n",*b>>8);//*b就是3072 左移8位就是12
        printf("%d\n",*c>>8);//*c就是22528,左移8位就是88
    system("pause");
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-27 22:40:05 | 显示全部楼层
楼主是好人。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 20:44:38 | 显示全部楼层
谢谢楼上的所有朋友
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 18:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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