背景是cmmb数据frame的类型,在接收到帧数据之后,前四个字节 是类型,所以要判断是不是2,我没有发射仪所以先把数据存在一个buffer里面,然后用下面的拷,这时就不行了,
22 memcpy(&header_value, buffer, sizeof(header_value) ); |
错误用的是,因为"0002"在二进制后是0x30303032,复制地址不行的!!花了一个半小时才发现。
正确的应是用atoi(char *str)函数。
header_value= atoi(temp_buff);
=========================
buffer= "000255";
memcpy(temp_buff, buffer, 4);
temp_buff[4]="\0";
len =4;
TCMD_TRACE("temp_buff is %s", temp_buff);
header_value= atoi(temp_buff);
阅读(1445) | 评论(0) | 转发(0) |