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

📄 fct.c

📁 这个是单片机4200的ui程序
💻 C
📖 第 1 页 / 共 4 页
字号:
			SetGpio_1(SBA6);

			SetGpio_1(SBD0);
			SetGpio_1(SBD1);
			SetGpio_1(SBD2);
			SetGpio_1(SBD3);
			SetGpio_1(SBD4);
			SetGpio_1(SBD5);
			SetGpio_1(SBD6);
			SetGpio_1(SBD7);

			SetGpio_1(SBCS03);
			SetGpio_1(SBRD);
			SetGpio_1(SBWR);		
		}break;

		case 0x23:
		{
			SetGpio_0(SBA0);
			SetGpio_1(SBA1);
			SetGpio_1(SBA2);
			SetGpio_1(SBA3);
			SetGpio_1(SBA4);
			SetGpio_1(SBA5);
			SetGpio_1(SBA6);

			SetGpio_1(SBD0);
			SetGpio_1(SBD1);
			SetGpio_1(SBD2);
			SetGpio_1(SBD3);
			SetGpio_1(SBD4);
			SetGpio_1(SBD5);
			SetGpio_1(SBD6);
			SetGpio_1(SBD7);

			SetGpio_1(SBCS03);
			SetGpio_1(SBRD);
			SetGpio_1(SBWR);		
		}break;

		case 0x25:
		{
			ChangePinOveylay(IRQN);
			ChangeDir_Mask(IRQN,PinDirInput);
		}break;

		case 0x27:
		{
			ChangePinOveylay(SEL_CIS);
			ChangeDir_Mask(SEL_CIS,PinDirOutput);
			ChangePinOveylay(PH_CIS);
			ChangeDir_Mask(PH_CIS,PinDirOutput);
			ChangePinOveylay(CLK_CIS);
			ChangeDir_Mask(CLK_CIS,PinDirOutput);
			ChangePinOveylay(LEDB_CIS);
			ChangeDir_Mask(LEDB_CIS,PinDirOutput);
			ChangePinOveylay(LEDG_CIS);
			ChangeDir_Mask(LEDG_CIS,PinDirOutput);
			ChangePinOveylay(LEDR_CIS);
			ChangeDir_Mask(LEDR_CIS,PinDirOutput);

			SetGpio_0(SEL_CIS);
			SetGpio_0(PH_CIS);
			SetGpio_0(CLK_CIS);
			SetGpio_0(LEDB_CIS);
			SetGpio_0(LEDG_CIS);
			SetGpio_1(LEDR_CIS);
			
		}break;

		case 0x28:
		{
			ChangePinOveylay(SEL_CIS);
			ChangeDir_Mask(SEL_CIS,PinDirOutput);
			ChangePinOveylay(PH_CIS);
			ChangeDir_Mask(PH_CIS,PinDirOutput);
			ChangePinOveylay(CLK_CIS);
			ChangeDir_Mask(CLK_CIS,PinDirOutput);
			ChangePinOveylay(LEDB_CIS);
			ChangeDir_Mask(LEDB_CIS,PinDirOutput);
			ChangePinOveylay(LEDG_CIS);
			ChangeDir_Mask(LEDG_CIS,PinDirOutput);
			ChangePinOveylay(LEDR_CIS);
			ChangeDir_Mask(LEDR_CIS,PinDirOutput);

			SetGpio_0(SEL_CIS);
			SetGpio_0(PH_CIS);
			SetGpio_0(CLK_CIS);
			SetGpio_0(LEDB_CIS);
			SetGpio_1(LEDG_CIS);
			SetGpio_0(LEDR_CIS);
				
		}break;

		case 0x29:
		{
			ChangePinOveylay(SEL_CIS);
			ChangeDir_Mask(SEL_CIS,PinDirOutput);
			ChangePinOveylay(PH_CIS);
			ChangeDir_Mask(PH_CIS,PinDirOutput);
			ChangePinOveylay(CLK_CIS);
			ChangeDir_Mask(CLK_CIS,PinDirOutput);
			ChangePinOveylay(LEDB_CIS);
			ChangeDir_Mask(LEDB_CIS,PinDirOutput);
			ChangePinOveylay(LEDG_CIS);
			ChangeDir_Mask(LEDG_CIS,PinDirOutput);
			ChangePinOveylay(LEDR_CIS);
			ChangeDir_Mask(LEDR_CIS,PinDirOutput);

			SetGpio_0(SEL_CIS);
			SetGpio_0(PH_CIS);
			SetGpio_0(CLK_CIS);
			SetGpio_1(LEDB_CIS);
			SetGpio_0(LEDG_CIS);
			SetGpio_0(LEDR_CIS);
			
		}break;

		case 0x2a:
		{
			ChangePinOveylay(SEL_CIS);
			ChangeDir_Mask(SEL_CIS,PinDirOutput);
			ChangePinOveylay(PH_CIS);
			ChangeDir_Mask(PH_CIS,PinDirOutput);
			ChangePinOveylay(CLK_CIS);
			ChangeDir_Mask(CLK_CIS,PinDirOutput);
			ChangePinOveylay(LEDB_CIS);
			ChangeDir_Mask(LEDB_CIS,PinDirOutput);
			ChangePinOveylay(LEDG_CIS);
			ChangeDir_Mask(LEDG_CIS,PinDirOutput);
			ChangePinOveylay(LEDR_CIS);
			ChangeDir_Mask(LEDR_CIS,PinDirOutput);

			SetGpio_0(SEL_CIS);
			SetGpio_0(PH_CIS);
			SetGpio_1(CLK_CIS);
			SetGpio_0(LEDB_CIS);
			SetGpio_0(LEDG_CIS);
			SetGpio_0(LEDR_CIS);
			
		}break;

		case 0x2b:
		{
			ChangePinOveylay(SEL_CIS);
			ChangeDir_Mask(SEL_CIS,PinDirOutput);
			ChangePinOveylay(PH_CIS);
			ChangeDir_Mask(PH_CIS,PinDirOutput);
			ChangePinOveylay(CLK_CIS);
			ChangeDir_Mask(CLK_CIS,PinDirOutput);
			ChangePinOveylay(LEDB_CIS);
			ChangeDir_Mask(LEDB_CIS,PinDirOutput);
			ChangePinOveylay(LEDG_CIS);
			ChangeDir_Mask(LEDG_CIS,PinDirOutput);
			ChangePinOveylay(LEDR_CIS);
			ChangeDir_Mask(LEDR_CIS,PinDirOutput);

			SetGpio_0(SEL_CIS);
			SetGpio_1(PH_CIS);
			SetGpio_0(CLK_CIS);
			SetGpio_0(LEDB_CIS);
			SetGpio_0(LEDG_CIS);
			SetGpio_0(LEDR_CIS);
			
		}break;

		case 0x2c:
		{
			ChangePinOveylay(SEL_CIS);
			ChangeDir_Mask(SEL_CIS,PinDirOutput);
			ChangePinOveylay(PH_CIS);
			ChangeDir_Mask(PH_CIS,PinDirOutput);
			ChangePinOveylay(CLK_CIS);
			ChangeDir_Mask(CLK_CIS,PinDirOutput);
			ChangePinOveylay(LEDB_CIS);
			ChangeDir_Mask(LEDB_CIS,PinDirOutput);
			ChangePinOveylay(LEDG_CIS);
			ChangeDir_Mask(LEDG_CIS,PinDirOutput);
			ChangePinOveylay(LEDR_CIS);
			ChangeDir_Mask(LEDR_CIS,PinDirOutput);

			SetGpio_1(SEL_CIS);
			SetGpio_0(PH_CIS);
			SetGpio_0(CLK_CIS);
			SetGpio_0(LEDB_CIS);
			SetGpio_0(LEDG_CIS);
			SetGpio_0(LEDR_CIS);
			
		}break;

		case 0x2e:
		{
			ChangePinOveylay(SPEAKER_TURNOFF);
			ChangeDir_Mask(SPEAKER_TURNOFF,PinDirOutput);
			SetGpio_0(SPEAKER_TURNOFF);
		}break;

		case 0x2f:
		{
			ChangePinOveylay(SPEAKER_TURNOFF);
			ChangeDir_Mask(SPEAKER_TURNOFF,PinDirOutput);
			SetGpio_1(SPEAKER_TURNOFF);
		}break;

		case 0x30:
	      	{
			PanleState=0X00;
			

		}break;
		
		default: ;
		
		}
	}
}


Uint8 FCTQuery(Uint8  QueryID)
{
	Uint8 RespondDataLength;
	RespondDataLength=1;     //default length
	
	switch(QueryID)
	{

		case 0x08:
		{
			RespondData[0]=0x00;
			if (Value_1==ReadPinValue(TONER))    
			{
						
				RespondData[0]=0x01;
						
			}
			if (Value_1==ReadPinValue(HOME_SENSOR))    
			{
						
				RespondData[0]=RespondData[0] |0X02;
						
			}
			if (Value_1==ReadPinValue(ADF_DS))    
			{
						
				RespondData[0]=RespondData[0] | 0X04;
						
			}
			if (Value_1==ReadPinValue(ADF_DES))
			{
				RespondData[0]=RespondData[0] | 0X08;
			}
			
											
		}break;
		case 0x0a:
		{
				 
			RespondData[0]=0x00;
			if (Value_1==ReadPinValue(COVEROPEN_ENG))    
			{
						
				RespondData[0]=0x01;
						
			}
			if (Value_1==ReadPinValue(WR_ENG))    
			{
						
				RespondData[0]=RespondData[0] |0X02;
						
			}
			if (Value_1==ReadPinValue(STS_ENG))    
			{
						
				RespondData[0]=RespondData[0] | 0X04;
						
			}
			if (Value_1==ReadPinValue(ETBSY_ENG))
			{
				RespondData[0]=RespondData[0] | 0X08;
			}
			
			if (Value_1==ReadPinValue(TOD_ENG))    
			{
						
				RespondData[0]=RespondData[0] | 0X10;
						
			}
			if (Value_1==ReadPinValue(PRRDY_ENG))    
			{
						
				RespondData[0]=RespondData[0] |0X20;
						
			}
			if (Value_1==ReadPinValue(EPRDY_ENG))    
			{
						
				RespondData[0]=RespondData[0] | 0X40;
						
			}
			if (Value_1==ReadPinValue(HSYNC_ENG))
			{
				RespondData[0]=RespondData[0] | 0X80;
			}
				
					
		}break;
		
		case 0x26:
		{
			RespondData[0]=0x00;
			if (Value_1==ReadPinValue(IRQN))    
			{
						
				RespondData[0]=0x01;
						
			}
		}break;

		case 0x31: 
		{
			RespondData[0] = 0x00;
			if (PanleState==0x1f)
			{
				RespondData[0] = 0xff;
			}
			     
		}break;
		
		
		default: ;
	}

	return RespondDataLength;
}




void FCTInit(void)
{
	
	FCT_TASK_ID=TaskCreateDebug((Sint32 (*)(void *))FCTAction,
		FCT_TASK_STACK_SIZE, FCT_TASK_STACK,NULL, 
		PRIORITY_FCTAction,"FCT_TASK", "FCT_TASK");
	VendorRequestQueue_id=TASKMSGCREATE();
	Timer4InitAlready=Value_0;
	FCTMode=0x00;

	//read T1 and T2
	ChangePinOveylay(T1);
	ChangeDir_Mask(T1,PinDirInput);
	ChangePinOveylay(T2);
	ChangeDir_Mask(T2,PinDirInput);
	if (!(ReadPinValue(T1) |ReadPinValue(T2)))	
	{
		 FCTMode=0x01;
		
	}
	
}



void OS_Timer4LISR(void)               
{
	ICU_InterruptClear(IRQ_TIM4);
	
	switch (PinGroupForTimer4)
	{
		case 0x01:
		{
			switch  (phase)
			{
				case 0x00:
				{
					
					SetGpio_1(FB_PH1);		
					SetGpio_1(FB_PH2);
					
					SetGpio_1(FB_I01);							
					SetGpio_1(FB_I11);
					SetGpio_0(FB_I02);
					SetGpio_0(FB_I12);
					phase=1;
					
					
				}break;
	
	  			case 0x01:
				{
			
					SetGpio_1(FB_PH1);		
					SetGpio_1(FB_PH2);

					SetGpio_0(FB_I01);							
					SetGpio_1(FB_I11);
					SetGpio_0(FB_I02);
					SetGpio_0(FB_I12);
					phase=2;
	  			}break;

				case 0x02:
				{
			
					SetGpio_1(FB_PH1);		
					SetGpio_1(FB_PH2);
					SetGpio_1(FB_I01);							
					SetGpio_0(FB_I11);
					SetGpio_1(FB_I02);
					SetGpio_0(FB_I12);
					phase=3;
			
				}break;

				case 0x03:
				{
					SetGpio_1(FB_PH1);		
					SetGpio_1(FB_PH2);
					SetGpio_0(FB_I01);							
					SetGpio_0(FB_I11);
					SetGpio_0(FB_I02);
					SetGpio_1(FB_I12);
					phase=4;
				}break;
				case 0x04:
				{
					SetGpio_1(FB_PH1);		
					SetGpio_1(FB_PH2);
					SetGpio_0(FB_I01);							
					SetGpio_0(FB_I11);
					SetGpio_1(FB_I02);
					SetGpio_1(FB_I12);
					phase=5;	
				}break;
				case 0x05:
				{
					SetGpio_1(FB_PH1);		
					SetGpio_0(FB_PH2);
					SetGpio_0(FB_I01);							
					SetGpio_0(FB_I11);
					SetGpio_0(FB_I02);
					SetGpio_1(FB_I12);
					phase=6;	
				}break;
				case 0x06:
				{
					SetGpio_1(FB_PH1);		
					SetGpio_0(FB_PH2);
					SetGpio_1(FB_I01);							
					SetGpio_0(FB_I11);
					SetGpio_1(FB_I02);
					SetGpio_0(FB_I12);
					phase=7;	
				}break;
				case 0x07:
				{
					SetGpio_1(FB_PH1);		
					SetGpio_0(FB_PH2);
					SetGpio_0(FB_I01);							
					SetGpio_1(FB_I11);
					SetGpio_0(FB_I02);
					SetGpio_0(FB_I12);
					phase=8;	
				}break;
				case 0x08:
				{
					SetGpio_1(FB_PH1);		
					SetGpio_0(FB_PH2);
					SetGpio_1(FB_I01);							
					SetGpio_1(FB_I11);
					SetGpio_0(FB_I02);
					SetGpio_0(FB_I12);
					phase=9;	
				}break;
				case 0x09:
				{
					SetGpio_0(FB_PH1);		
					SetGpio_0(FB_PH2);
					SetGpio_0(FB_I01);							
					SetGpio_1(FB_I11);
					SetGpio_0(FB_I02);
					SetGpio_0(FB_I12);
					phase=0x0a;	
				}break;
				case 0x0a:
				{
					SetGpio_0(FB_PH1);		
					SetGpio_0(FB_PH2);
					SetGpio_1(FB_I01);							
					SetGpio_0(FB_I11);
					SetGpio_1(FB_I02);
					SetGpio_0(FB_I12);
					phase=0x0b;	
				}break;
				case 0x0b:
				{
					SetGpio_0(FB_PH1);		
					SetGpio_0(FB_PH2);
					SetGpio_0(FB_I01);							
					SetGpio_0(FB_I11);
					SetGpio_0(FB_I02);
					SetGpio_1(FB_I12);
					phase=0x0c;	
				}break;
				case 0x0c:
				{
					SetGpio_0(FB_PH1);		
					SetGpio_0(FB_PH2);
					SetGpio_0(FB_I01);							
					SetGpio_0(FB_I11);
					SetGpio_1(FB_I02);
					SetGpio_1(FB_I12);
					phase=0x0d;	
				}break;
				case 0x0d:
				{
					SetGpio_0(FB_PH1);		
					SetGpio_1(FB_PH2);
					SetGpio_0(FB_I01);							
					SetGpio_0(FB_I11);
					SetGpio_0(FB_I02);
					SetGpio_1(FB_I12);
					phase=0x0e;	
				}break;
				case 0x0e:
				{
					SetGpio_0(FB_PH1);		
					SetGpio_1(FB_PH2);
					SetGpio_1(FB_I01);							
					SetGpio_0(FB_I11);
					SetGpio_1(FB_I02);
					SetGpio_0(FB_I12);
					phase=0x0f;	
				}break;
				case 0x0f:
				{
					SetGpio_0(FB_PH1);		
					SetGpio_1(FB_PH2);
					SetGpio_0(FB_I01);							
					SetGpio_1(FB_I11);
					SetGpio_0(FB_I02);
					SetGpio_0(FB_I12);
					phase=0;	
				}break;
				default:{phase=0;}	
			}
		}break;
				
		case 0x02:
		{
			switch  (phase)
			{
				case 0x00:
				{
					PlusCounter=PlusCounter+16;
					if (400==PlusCounter)
					{
						IO_WRITE32(SYTCTL4, 0x00000005);

⌨️ 快捷键说明

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