//DIO变态帧格式
typedef struct
{
unsigned char :8;
unsigned char chan17:1;
unsigned char chan18:1;
unsigned char chan19:1;
unsigned char chan20:1;
unsigned char chan21:1;
unsigned char chan22:1;
unsigned char chan23:1;
unsigned char chan24:1;
unsigned char :8;
unsigned char chan9:1;
unsigned char chan10:1;
unsigned char chan11:1;
unsigned char chan12:1;
unsigned char chan13:1;
unsigned char chan14:1;
unsigned char chan15:1;
unsigned char chan16:1;
unsigned char :8;
unsigned char chan1:1;
unsigned char chan2:1;
unsigned char chan3:1;
unsigned char chan4:1;
unsigned char chan5:1;
unsigned char chan6:1;
unsigned char chan7:1;
unsigned char chan8:1;
}DIOFrame;
DIOFrame G_data_DIOFrame;
int main (int argc, char *argv[])
{
//变态DIO帧格式,6字节代表24个DIO,每两个的低位有效,从最后一位往左分别代表1-24通道,(下位机方便统一就造成DIO数据是这个样子上来了)
char recv[6]={0x00,0x80,0x00,0x01,0x00,0x00}; //这个代表第9通道和第24通道 为1
//定义上面的结构体就可以秒解析,然后直接用就是.
DIOFrame* p=(DIOFrame*)recv;
G_data_DIOFrame=*p;
return 0;
}