⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 receivedatagramv3.0.c

📁 这是一个进程通信和手机数据处理程序, 与以前发的手机界面一起构成一个简单手机系统,是我们做的第一个版本,供大家一起学习
💻 C
📖 第 1 页 / 共 3 页
字号:
   }
}

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 + -