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

📄 senddata_1.c

📁 该程序实现的是一个在织布厂用的提花机程序
💻 C
字号:
int SendData()// return 0: error;  1: finish job
{
//	HARDWARE_ERROR HardErr;
	char info[40];
	BOOL bEnable_h,bBackwd_h,bWobrk_h,bShutle_h,bFirstBack,bToMap,bCheckOK;
	/*BOOL bButtonLocked=0;*/
	BOOL bDataErr=0,bFinish=0;
	int flag=0,bSendData;
	BYTE p=WEAVER_I;
	/*unsigned char inkey;*/

	g_wea_i._byte=inportb(p);
	bEnable_h=g_wea_i._bit.enable;
	bBackwd_h=g_wea_i._bit.backwd;
	bWobrk_h=g_wea_i._bit.wo_brk;
	bShutle_h=g_wea_i._bit.shutle;
	bFirstBack=0;
	g_bWoofFinish=0;

	StartRun();
//		outinfo(RUNDIS,"");
	bSendData=2;
	while(bSendData>1)
	{
		bCheckOK=1;
		DelayMs(5);
		if(CheckIO(info)==FALSE)
		{
			bSendData=0;
			StopRun();
			DisplayInfo(info);
		}
		g_wea_i._byte=inportb((BYTE)p);

		switch(flag)
		{
		case 0:
/* for fast run */
			while(g_wea_i._bit.fast==0)
			{
				if((bEnable_h==1) && (g_wea_i._bit.enable==0))  /* enable falling_edge*/
				{
					bFinish=Forward1();            /*case 1*/
					bCheckOK=SendOneLineCheckThis(0);
					if(bFinish)
					{
						info[0]=getch();
						if(info[0]=='y' || info[0]=='Y')
						{
							ResetPoint();
							DisplayJob(&g_job,"");
						}
						else
						{
							bSendData=0;
							DisplayInfo("");
							break;
						}
					}
				}
				if((bEnable_h==0) && (g_wea_i._bit.enable==1))/*  enable rising_dedge; fast 0*/
				{
					SendControl(g_wea_i._bit.backwd,g_wea_i._bit.shutle);
				}

				bEnable_h=g_wea_i._bit.enable;
				g_wea_i._byte=inportb((BYTE)p);
				if(CheckIO(info)==FALSE)
				{
					StopRun();
					bSendData=0;
					break;
				}
				if((bCheckOK==FALSE) && (g_bDataLock==1))
				{
					bSendData=0;
					Forward1();
					StopRun();
					break;
				}
			}          /*caes 0,  while(fast)*/
			if(bSendData==0)
				break;   // jump out of case 0 
			if((bBackwd_h==1) && (g_wea_i._bit.backwd==0) ) /* not fast, backwd falling_edge*/
			{
				.....
			}
			else if((bEnable_h==0) && (g_wea_i._bit.enable==1))  /*enable rising_edge  fast=1*/
			{
				SendControl(g_wea_i._bit.backwd,g_wea_i._bit.shutle);
			}
			break;
		case 8:
			break;
		case 3:
			break;
		case 7:
			break;
		case 2:
			break;
		case 5:
			break;
		case 6:
			break;
		case 9:
			break;
		case 4:
			break;
		default:
			sprintf(info,"\nunkown case, flag=%d\n",flag);
			DisplayInfo(info);
			break;
		}
		if(bSendData==0)
			break;   // jump out of while 

		if((bEnable_h==0) && (g_wea_i._bit.enable==1))  /*enable rising_edge  */
			{
				SendControl(g_wea_i._bit.backwd,g_wea_i._bit.shutle);
			}
		if((g_wea_i._bit.wo_brk==0) && (bWobrk_h==1)) /*woof_break falling_edge*/
			bFirstBack=1;

		if((bCheckOK==FALSE) && (g_bDataLock==1))
		{
			if(flag==0)
			{
				Forward1();
				bSendData=0;
				StopRun();
			}
			else
				bDataErr=1;
		}
		bEnable_h=g_wea_i._bit.enable;
		DisplayRun();
		if(KeyProc(1)==0)
		{
			StopRun();
			return 1;
		}
	}    /*while(bSendData)*/;

	StopRun();
	return 0;  // no meaning
}

⌨️ 快捷键说明

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