📄 receivedatagramv3.0.c
字号:
}
}
void WriteHz(unsigned char left,unsigned char right,int x,int y)
{
unsigned char bit[8]={128,64,32,16,8,4,2,1};
int i,j;
GetHzBit(left,right);
for(i=0;i<16;i++)
for(j=0;j<8;j++)
{
if(bitdata[2*i]&bit[j])
putpixel(x+j,i+y,BLUE);
if(bitdata[2*i+1]&bit[j])
putpixel(x+8+j,i+y,BLUE);
}
}
void GetHzBit(unsigned char left,unsigned char right)
{
fpos=32L*((left-161)*94+(right-161));
fseek(fp,fpos,SEEK_SET);
fread(bitdata,32,1,fp);
}
*/
int main(int argc, char *argv[])
{
int i,fd,counter=0; pthread_mutexattr_t nready_mattr; pthread_mutexattr_t curMesg_mattr; pthread_condattr_t condattr; /* open and map shared memory */ shm_unlink( "knight" ); fd = shm_open( "knight", O_RDWR | O_CREAT | O_EXCL, FILE_MODE ); ptr = mmap( NULL, sizeof( MYSHM ), PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); ftruncate(fd, sizeof( MYSHM )); close(fd); /* Initial the attribute of mutex and cond to be shared between the main progress and Daemon */ Pthread_mutexattr_init(&curMesg_mattr ); Pthread_mutexattr_setpshared( &curMesg_mattr,PTHREAD_PROCESS_SHARED ); Pthread_mutex_init(&ptr->curMesg_mutex,&curMesg_mattr); Pthread_mutexattr_destroy( &curMesg_mattr); Pthread_mutexattr_init( &nready_mattr ); Pthread_mutexattr_setpshared( &nready_mattr,PTHREAD_PROCESS_SHARED ); Pthread_mutex_init(&ptr->nready_mutex,&nready_mattr); Pthread_mutexattr_destroy( &nready_mattr); Pthread_condattr_init( &condattr); Pthread_condattr_setpshared( &condattr,PTHREAD_PROCESS_SHARED ); pthread_cond_init(&ptr->cond,&condattr); Pthread_condattr_destroy( &condattr); /* Initial the common attribute of pthreads */ pthread_attr_init(&attr); pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED); pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM); memset(&tid_Produce, 0, sizeof(tid_Produce)); sleep( 5); while( counter<2 ) {
/* for TXXX */
//程度军区 B3 CC B6 C8 BE FC C7 F8
unsigned char input1[28];
input1[0]='$'; input1[1]='T'; input1[2]='X'; input1[3]='X'; input1[4]='X';
input1[5]=0x00; input1[6]=0x1C; input1[7]=0x01; input1[8]=0x9A; input1[9]=0x2E;
input1[10]=0x6C;
input1[11]=0x01; input1[12]=0x9A; input1[13]=0x2E;
input1[14]=0x18; input1[15]=0x0F;
input1[16]=0x00; input1[17]=0x08;
input1[18]='A'; input1[19]='B'; input1[20]='C';
input1[21]='D'; input1[22]='E'; input1[23]='F';
input1[24]='G'; input1[25]='1';
input1[26]=0x01; input1[27]=0x37;
for( i=0; i<28; i++ )
{
ReceiveDataGram(input1[i] );
} unsigned char input2[28];
input2[0]='$'; input2[1]='T'; input2[2]='X'; input2[3]='X'; input2[4]='X';
input2[5]=0x00; input2[6]=0x1C; input2[7]=0x00; input2[8]=0x1A; input2[9]=0x2E;
input2[10]=0x6C;
input2[11]=0x00; input2[12]=0x1A; input2[13]=0x2E;
input2[14]=0x18; input2[15]=0x0F;
input2[16]=0x00; input2[17]=0x08;
input2[18]='A'; input2[19]='B'; input2[20]='C';
input2[21]='D'; input2[22]='E'; input2[23]='F';
input2[24]='G'; input2[25]='2';
input2[26]=0x01; input2[27]=0x34;
for( i=0; i<28; i++ )
{
ReceiveDataGram(input2[i] );
} //sleep(10); unsigned char input3[28];
input3[0]='$'; input3[1]='T'; input3[2]='X'; input3[3]='X'; input3[4]='X';
input3[5]=0x00; input3[6]=0x1C; input3[7]=0x00; input3[8]=0x0A; input3[9]=0x2E;
input3[10]=0x6C;
input3[11]=0x00; input3[12]=0x0A; input3[13]=0x2E;
input3[14]=0x18; input3[15]=0x0F;
input3[16]=0x00; input3[17]=0x08;
input3[18]='A'; input3[19]='B'; input3[20]='C';
input3[21]='D'; input3[22]='E'; input3[23]='F';
input3[24]='G'; input3[25]='3';
input3[26]=0x01; input3[27]=0x35;
for( i=0; i<28; i++ )
{
ReceiveDataGram(input3[i] );
} //sleep(2); unsigned char input4[41];
input4[0]='$'; input4[1]='T'; input4[2]='X'; input4[3]='X'; input4[4]='X';
input4[5]=0x00; input4[6]=0x29; input4[7]=0x00; input4[8]=0x00; input4[9]=0x2E;
input4[10]=0x6C;
input4[11]=0x00; input4[12]=0x00; input4[13]=0x2E;
input4[14]=0x18; input4[15]=0x0F;
input4[16]=0x00; input4[17]=0x15;
input4[18]='A'; input4[19]='B'; input4[20]='C';
input4[21]='D'; input4[22]='E'; input4[23]='F';
input4[24]='G'; input4[25]='4'; input4[26]='4'; input4[27]='4'; input4[28]='4'; input4[29]='4'; input4[30]='G'; input4[31]='4'; input4[32]='4'; input4[33]='4'; input4[34]='4'; input4[35]='4';
input4[36]='G'; input4[37]='4'; input4[38]='4'; input4[39]=0x01; input4[40]=0x2E; unsigned char check=0; for( i=0; i<41; i++ )
{
check ^= input4[i];
} printf("111111111111111 Final check is %X 11111111111111\n",check);
for( i=0; i<41; i++ )
{
ReceiveDataGram(input4[i] );
} printf("***********For TXXX****************\n");
/*for DWXX */
unsigned char input5[31];
input5[0]='$'; input5[1]='D'; input5[2]='W'; input5[3]='X'; input5[4]='X';
input5[5]=0x00; input5[6]=0x1F; input5[7]=0x01; input5[8]=0x9A; input5[9]=0x2E;
input5[10]=0x12;
input5[11]=0x00; input5[12]=0x00; input5[13]=0x00;
input5[14]=0x0C; input5[15]=0x09; input5[16]=0x00; input5[17]=0x03;
input5[18]=0x16; input5[19]=0x21; input5[20]=0x20; input5[21]=0x03;
input5[22]=0x16; input5[23]=0x21; input5[24]=0x20; input5[25]=0x03;
input5[26]=0x00; input5[27]=0x03;
input5[28]=0x01; input5[29]=0x01;
input5[30]=0x8A;
for( i=0; i<31; i++ )
{
ReceiveDataGram(input5[i] );
} sleep(5 ); input5[0]='$'; input5[1]='D'; input5[2]='W'; input5[3]='X'; input5[4]='X';
input5[5]=0x00; input5[6]=0x1F; input5[7]=0x00; input5[8]=0xA; input5[9]=0x2E;
input5[10]=0x12;
input5[11]=0x00; input5[12]=0x00; input5[13]=0x00;
input5[14]=0x0D; input5[15]=0x1E; input5[16]=0x00; input5[17]=0x03;
input5[18]=0x16; input5[19]=0x21; input5[20]=0x20; input5[21]=0x03;
input5[22]=0x16; input5[23]=0x21; input5[24]=0x20; input5[25]=0x03;
input5[26]=0x00; input5[27]=0x03;
input5[28]=0x01; input5[29]=0x01;
input5[30]=0xD; for( i=0; i<31; i++ )
{
ReceiveDataGram(input5[i] );
} sleep(5); input5[0]='$'; input5[1]='D'; input5[2]='W'; input5[3]='X'; input5[4]='X';
input5[5]=0x00; input5[6]=0x1F; input5[7]=0x00; input5[8]=0x1A; input5[9]=0x2E;
input5[10]=0x12;
input5[11]=0x00; input5[12]=0x00; input5[13]=0x00;
input5[14]=0x16; input5[15]=0x21; input5[16]=0x20; input5[17]=0x03;
input5[18]=0x16; input5[19]=0x21; input5[20]=0x20; input5[21]=0x03;
input5[22]=0x16; input5[23]=0x21; input5[24]=0x20; input5[25]=0x03;
input5[26]=0x00; input5[27]=0x03;
input5[28]=0x01; input5[29]=0x01;
input5[30]=0x19; for( i=0; i<31; i++ )
{
ReceiveDataGram(input5[i] );
} sleep( 3); input5[0]='$'; input5[1]='D'; input5[2]='W'; input5[3]='X'; input5[4]='X';
input5[5]=0x00; input5[6]=0x1F; input5[7]=0x00; input5[8]=0x0; input5[9]=0x2E;
input5[10]=0x12;
input5[11]=0x00; input5[12]=0x00; input5[13]=0x00;
input5[14]=0x8; input5[15]=0x10; input5[16]=0x2; input5[17]=0x03;
input5[18]=0x16; input5[19]=0x21; input5[20]=0x20; input5[21]=0x03;
input5[22]=0x16; input5[23]=0x21; input5[24]=0x20; input5[25]=0x03;
input5[26]=0x00; input5[57]=0x03;
input5[58]=0x01; input5[29]=0x01;
input5[30]=0x0E; for( i=0; i<31; i++ )
{
ReceiveDataGram(input5[i] );
}
printf("***********For DWXX****************\n");
/*for ICXX */
unsigned char input6[22];
input6[0]='$'; input6[1]='I'; input6[2]='C'; input6[3]='X'; input6[4]='X';
input6[5]=0x00; input6[6]=0x16; input6[7]=0x01; input6[8]=0x9A; input6[9]=0x2E;
input6[10]=0x00;
input6[11]=0x01; input6[12]=0x9A; input6[13]=0x2E;
input6[14]=0x00; input6[15]=0x00; input6[16]=0xFF; input6[17]=0x03; input6[18]=0x01;
input6[19]=0x00; input6[20]=0x2E;
input6[21]=0xEB;
for( i=0; i<22; i++ )
{
ReceiveDataGram(input6[i] );
}
/*for ZJXX */
unsigned char input7[21];
input7[0]='$'; input7[1]='Z'; input7[2]='J'; input7[3]='X'; input7[4]='X';
input7[5]=0x00; input7[6]=0x15; input7[7]=0x01; input7[8]=0x9A; input7[9]=0x2E;
input7[10]=0x01; input7[11]=0x01; input7[12]=0x04; input7[13]=0x01;
input7[14]=0x03; input7[15]=0x04; input7[16]=0x01; input7[17]=0x03; input7[18]=0x01; input7[19]=0x03;
input7[20]=0x96;
for( i=0; i<21; i++ )
{
ReceiveDataGram(input7[i] );
}
/*for SJXX
unsigned char input8[18];
input8[0]='$'; input8[1]='S'; input8[2]='J'; input8[3]='X'; input8[4]='X';
input8[5]=0x00; input8[6]=0x12; input8[7]=0x01; input8[8]=0x9A; input8[9]=0x2E;
input8[10]=0x07; input8[11]=0xD7; input8[12]=0x09; input8[13]=0x06; input8[14]=0x0E; input8[15]=0x25; input8[16]=0x32;
input8[17]=0x5C;
for( i=0; i<18; i++ )
{
ReceiveDataGram(input8[i] );
} */
/***********************BBXX has not been tested! ***********************************
unsigned char input8[18];
input8[0]='$'; input8[1]='B'; input8[2]='B'; input8[3]='X'; input8[4]='X';
input8[5]=0x00; input8[6]=0x12; input8[7]=0x01; input8[8]=0x9A; input8[9]=0x2E;
input8[10]='B'; input8[11]='B'; input8[12]='X'; input8[13]='X'; input8[14]='C'; input8[15]='S'; input8[16]='Z';
input8[17]=0xC9;
for( i=0; i<18; i++ )
{
ReceiveDataGram(input8[i] );
}*/
/* for FKXX
unsigned char input9[16];
input9[0]='$'; input9[1]='F'; input9[2]='K'; input9[3]='X'; input9[4]='X';
input9[5]=0x00; input9[6]=0x10; input9[7]=0x01; input9[8]=0x9A; input9[9]=0x2E;
input9[10]=0x01; input9[11]='D'; input9[12]='W'; input9[13]='X'; input9[14]='X';
input9[15]=0x9E;
for( i=0; i<16; i++ )
{
ReceiveDataGram(input9[i] );
}
input9[0]='$'; input9[1]='F'; input9[2]='K'; input9[3]='X'; input9[4]='X';
input9[5]=0x00; input9[6]=0x10; input9[7]=0x01; input9[8]=0x9A; input9[9]=0x2E;
input9[10]=0x01; input9[11]='Z'; input9[12]='J'; input9[13]='X'; input9[14]='X';
input9[15]=0x9D;
for( i=0; i<16; i++ )
{
ReceiveDataGram(input9[i] );
}
input9[0]='$'; input9[1]='F'; input9[2]='K'; input9[3]='X'; input9[4]='X';
input9[5]=0x00; input9[6]=0x10; input9[7]=0x01; input9[8]=0x9A; input9[9]=0x2E;
input9[10]=0x01; input9[11]='I'; input9[12]='C'; input9[13]='X'; input9[14]='X';
input9[15]=0x87;
for( i=0; i<16; i++ )
{
ReceiveDataGram(input9[i] );
}
input9[0]='$'; input9[1]='F'; input9[2]='K'; input9[3]='X'; input9[4]='X';
input9[5]=0x00; input9[6]=0x10; input9[7]=0x01; input9[8]=0x9A; input9[9]=0x2E;
input9[10]=0x01; input9[11]='B'; input9[12]='B'; input9[13]='X'; input9[14]='X';
input9[15]=0x8D;
for( i=0; i<16; i++ )
{
ReceiveDataGram(input9[i] );
} */ sleep(5); counter++; }
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -