假如我想传一组数据到单片机,先把要传的数据放入一个Buffer中,象这样
typedef struct{
__int16 day;
__int16 month;
__int16 year;
}DateTimeType;
另外还有char name[10];char id[4];int age;事先已经定义了他们的值,程序如下:
........
DateTimeType Time;
Time.day = 23;
Time.Year = 2002;
Time.month = 12;
memcpy(buffer,name,10);
memcpy(buffer+4,&Time,14);
memcpy(buffer+10+14,id,4);
memcpy(buffer+14+10+4,age,4);
.......
对不对?
typedef struct{
__int16 day;
__int16 month;
__int16 year;
}DateTimeType;
另外还有char name[10];char id[4];int age;事先已经定义了他们的值,程序如下:
........
DateTimeType Time;
Time.day = 23;
Time.Year = 2002;
Time.month = 12;
memcpy(buffer,name,10);
memcpy(buffer+4,&Time,14);
memcpy(buffer+10+14,id,4);
memcpy(buffer+14+10+4,age,4);
.......
对不对?
比如 帧头 站号 数据长度 数据1,数据2,数据3,。校验
你按协议写 例:帧头 eb90 eb90 eb90 03 , day,month,year , 校验
单片机收到 eb90 db90 db90 就知有数据来了,根据协议处理后面的数据
你上面写的东西不太懂
所以:
memcpy(buffer,name,10);
memcpy(buffer+10,&Time,6);
memcpy(buffer+10+6,id,4);
memcpy(buffer+10+6+4,age,4);