in_test.c

来自「uboot底层驱动」· C语言 代码 · 共 84 行

C
84
字号
	#include "hardware_reg.h"
	#include "my_printf.h"
	
	
int DI[4];
	
void in_test(void)	
{



	int i = 0;
	int DI_Temp = 0;
	int ii = 0;
	unsigned long datatemp;
	/***************************?D???aè?á?×′ì?*******************************************/

	static int DI_Enable_Sample[4] ;   //óD??μ?????ò?	

	static int DI_Disable_Sample[4] ;  //óDμíμ?????ò?
	
		/// ****************************************************/
	*(volatile unsigned long *)PORTF_SEL |= 0xF;            //for common use
	*(volatile unsigned long *)PORTF_DIR |= 0xF; 		//intput	
	

	
	
		
for	(; ii < 40; ii++)
{
	datatemp = *(volatile unsigned long *)PORTF_DATA;
	
	for( i= 0; i <4; i++ )
	{
		if( (datatemp >>i)& 0x1)
		{
			 DI_Disable_Sample[i]++;
		
		}
		else
		{	
			DI_Enable_Sample[i] ++;
			DI_Disable_Sample[i] = 0; 
			
		}  
	
	
		if( DI_Disable_Sample[i] > 10)
		{
			DI[i] = 0;
			DI_Enable_Sample[i] = 0;
			DI_Disable_Sample[i] = 0;
		}
		

		if( DI_Enable_Sample[i] > 10)
		{
			DI[i] = 1;
			DI_Enable_Sample[i] = 1;
		}

	} 
	for ( DI_Temp = 0; DI_Temp < 75000*0x4; DI_Temp++ ) ;
}

for (DI_Temp = 0; DI_Temp < 4; DI_Temp++)
{
	//if ( DI[DI_Temp] )
		my_printf("%d input:%d\n\r", DI_Temp, DI[DI_Temp]);
	DI[DI_Temp] = 0;
}

}

	
	
	

/*------------------end ?D???aè?á?×′ì?--------------------------------------*/



⌨️ 快捷键说明

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