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

📄 store_ad.c

📁 uClinux 下MicroWindows开发的电机控制平台软件和模拟示波器的双路数据采集系统源码
💻 C
字号:
void *FUN_Store_AD(){  register short i=0;   int fp1;  int fp2;  if((fp1=open("/mnt/yaffs/data1",O_WRONLY | O_CREAT))==0)//成功打开文件  {    if(Mask_AD)    {      for(i=0;i<8;i++)      {        write(fp1,AD_Data_Buffer_One,sizeof(AD_Data_Buffer_One));                    }            }    ;  }  if((fp2=fopen("data2","w"))==NULL)  {    ;  }  while(1)  {     if(Mask_Store & Mark_System_State)     {       if(Mask_AD)       {         if(i<8)//未存够8个屏          {	    i++;	    fwrite(AD_Data_Buffer_One,sizeof(AD_Data_Buffer_One),1,fp1);            fwrite(AD_Data_Buffer_Two,sizeof(AD_Data_Buffer_Two),1,fp2);	  }	  else	  {	    fclose(fp1);	    fclose(fp2);	  }       }     }     else if(Mask_Store==0)     {       i=0;//重新开始存       fp1=fopen("data1","w");       fp2=fopen("data2","w");     }  }}void *FUN_Reshow(){  register short j=0;  register short k=0;    register int INT_Temp_ADResult=0;//AD临时存放  register int INT_P1Temp_ADResult=0;//存放1通道前一个值  register int INT_P2Temp_ADResult=0;//存放2通道前一个值  FILE *fp1;  FILE *fp2;  unsigned short buffer1[2560];  unsigned short buffer2[2560];   while(1)    {       if(Mask_Show & (Mark_System_State==0))       {          if((fp1=fopen("data1","r"))!=NULL)	  {	    fread(buffer1,sizeof(buffer1),1,fp1);	  }	  if((fp2=fopen("data2","r"))!=NULL)	  {	    fread(buffer2,sizeof(buffer2),1,fp2);	  }	  while(Mask_Show&(Mark_System_State==0))	  {	     for(j=0;j<2560;j++)	     {	       if(k<320)	       {	         k++;	       }	       else	       {	         k=0;		 INT_P1Temp_ADResult=buffer1[j-1];		 INT_P1Temp_ADResult = INT_P1Temp_ADResult/5.12;//对其进行坐标的变换                 INT_P1Temp_ADResult = 200-INT_P1Temp_ADResult;//对其进行坐标的变换	         INT_P1Temp_ADResult = 100+(INT_P1Temp_ADResult-100)*Mask_YSpread_One;//Y轴的拉伸                 INT_P1Temp_ADResult = INT_P1Temp_ADResult-Mask_YMove_One;//Y轴的上移下移		 		 INT_P2Temp_ADResult=buffer2[j-1];		 INT_P2Temp_ADResult = INT_P2Temp_ADResult/5.12;//对其进行坐标的变换                 INT_P2Temp_ADResult = 200-INT_P2Temp_ADResult;//对其进行坐标的变换	         INT_P2Temp_ADResult = 100+(INT_P2Temp_ADResult-100)*Mask_YSpread_Two;//Y轴的拉伸	         INT_P2Temp_ADResult = INT_P2Temp_ADResult-Mask_YMove_Two;//Y轴的上移下移	       }	       	       	       if(Mark_Channel_State!=1)//除了只显示1通道时,都显示2通道	       {	           INT_Temp_ADResult=buffer2[j];		   INT_Temp_ADResult = INT_Temp_ADResult/5.12;//对其进行坐标的变换                   INT_Temp_ADResult = 200-INT_Temp_ADResult;//对其进行坐标的变换	           INT_Temp_ADResult = 100+(INT_Temp_ADResult-100)*Mask_YSpread_One;//Y轴的拉伸                   INT_Temp_ADResult = INT_Temp_ADResult-Mask_YMove_One;//Y轴的上移下移	           GrLine(Wid_Wave,Gid_Draw_Red_Black_Two,j-1,INT_P2Temp_ADResult,j,INT_Temp_ADResult);	           GrPoint(Wid_Wave,Gid_Draw_Red_Black_Two,j,INT_Temp_ADResult);	           INT_P2Temp_ADResult=INT_Temp_ADResult;	       }                      if(Mark_Channel_State!=2)//除了只显示2通道时,都显示1通道	       {	           INT_Temp_ADResult=buffer1[j];		   INT_Temp_ADResult = INT_Temp_ADResult/5.12;//对其进行坐标的变换                   INT_Temp_ADResult = 200-INT_Temp_ADResult;//对其进行坐标的变换	           INT_Temp_ADResult = 100+(INT_Temp_ADResult-100)*Mask_YSpread_One;//Y轴的拉伸                   INT_Temp_ADResult = INT_Temp_ADResult-Mask_YMove_One;//Y轴的上移下移	           GrLine(Wid_Wave,Gid_Draw_Green_Black_One,j-1,INT_P1Temp_ADResult,j,INT_Temp_ADResult);	           GrPoint(Wid_Wave,Gid_Draw_Green_Black_One,j,INT_Temp_ADResult);	           INT_P1Temp_ADResult=INT_Temp_ADResult;	       }	     }          }       }    }} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -