协议命令组包方法
2016-09-24 本文已影响59人
陈水寒
- (void)msrRead{
unsigned int pkLen=0x04; //协议命令长度,根据具体协议命令定义
unsigned int sum=0; //校验和,取校验和的后2个字节
unsigned char cmd[30]; // 存放数据
cmd[0]=0xef;
cmd[1]=0x01;
cmd[2]=0x01;
sum+=cmd[2];
cmd[3]=(unsigned char)(pkLen>>8); sum+=cmd[3];
cmd[4]=(unsigned char)(pkLen&0x00ff); sum+=cmd[4];
cmd[5]=0x01;
sum+=cmd[5];
cmd[6]=0x03;
sum+=cmd[6];
cmd[7]=(unsigned char)(sum>>8); //取校验和的前1个字节
cmd[8]=(unsigned char)(sum&0x00ff); //取校验和的后1个字节,
NSData *data = [[NSData alloc] initWithBytes:&cmd length:9]; //将命令转换成data类型,以便数据发送
NSLog(@"%@",data);
}