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

📄 gpio.c

📁 dm270 source code
💻 C
字号:
/*
Module Name	: gpio.c

Functions	: GIOInit
			  IDE_CTRL
			  LCD_CTRL
			  UF32_CTRL
			  TVP5150_CTRL
			  
Author		: Otis	Yu		2005/03/30    
Purpose		: Initializes and control use gpio's peripheral device 

Notes		: 

*/

// Local header files
#include <demo/gio270.h>


//
// Gpio initialize for DM270

void GIOInit(void) {
	GIO_ConfigData gioset;
	
	gioset.dir             = GIO_INPUT;
    gioset.altUse          = FALSE;
    gioset.invert          = FALSE;
    gioset.chatterInvalid  = FALSE;
    
    /*------------otis input--------*/
    GIO_setConfig( GIO0, &gioset);
    GIO_setConfig( GIO2, &gioset);
    GIO_setConfig( GIO3, &gioset);
    GIO_setConfig( GIO4, &gioset);
    GIO_setConfig( GIO8, &gioset);
    GIO_setConfig( GIO9, &gioset);
    GIO_setConfig(GIO12, &gioset);
    GIO_setConfig(GIO13, &gioset);
    GIO_setConfig(GIO26, &gioset);
    
    
	/*			 					// Reserve setting
    GIO_setConfig( GIO7, &gioset);	// for YOKO
    GIO_setConfig(GIO10, &gioset);
    GIO_setConfig(GIO11, &gioset);
    GIO_setConfig(GIO16, &gioset);
    GIO_setConfig(GIO17, &gioset);
    GIO_setConfig(GIO20, &gioset);
    GIO_setConfig(GIO22, &gioset);

    GIO_setConfig( GIO0, &gioset);	// Reserve setting
    GIO_setConfig( GIO2, &gioset);
    GIO_setConfig( GIO3, &gioset);
    GIO_setConfig( GIO4, &gioset);
    GIO_setConfig( GIO8, &gioset);
    GIO_setConfig( GIO9, &gioset);
    GIO_setConfig(GIO12, &gioset);
    GIO_setConfig(GIO13, &gioset);
    GIO_setConfig(GIO19, &gioset);
    */   
    gioset.altUse	= TRUE;			// FSEL setting
    GIO_setConfig(GIO31, &gioset);	//otis
    GIO_setConfig(GIO32, &gioset);	//otis
    //GIO_setConfig(GIO33, &gioset);
    gioset.altUse	= FALSE;

    gioset.dir		= GIO_OUTPUT;	// OUTPUT setting
    /*------------otis output-------*/
    GIO_setConfig(GIO14, &gioset);
    GIO_setConfig(GIO15, &gioset);
    GIO_setConfig(GIO17, &gioset);
    GIO_setConfig(GIO18, &gioset);
    GIO_setConfig(GIO19, &gioset);
    GIO_setConfig(GIO20, &gioset);
    GIO_setConfig(GIO22, &gioset);
    GIO_setConfig(GIO23, &gioset);
    GIO_setConfig(GIO24, &gioset);
    GIO_setConfig(GIO25, &gioset);
    GIO_setConfig(GIO27, &gioset);
    GIO_setConfig(GIO28, &gioset);   
    GIO_setConfig(GIO29, &gioset);
    GIO_setConfig(GIO30, &gioset);
    GIO_setConfig(GIO33, &gioset);
    
    
  /*GIO_setConfig( GIO1, &gioset);
    GIO_setConfig( GIO5, &gioset);
    GIO_setConfig( GIO6, &gioset);
//  GIO_setConfig( GIO7, &gioset);	// for sagiters
    GIO_setConfig(GIO14, &gioset);
    GIO_setConfig(GIO15, &gioset);
    GIO_setConfig(GIO18, &gioset); 
    GIO_setConfig(GIO21, &gioset);
    GIO_setConfig(GIO25, &gioset); 
    GIO_setConfig(GIO26, &gioset);
    GIO_setConfig(GIO27, &gioset);
    GIO_setConfig(GIO28, &gioset);   
    GIO_setConfig(GIO29, &gioset); 
    GIO_setConfig(GIO30, &gioset);
*/
    
    GIO_setBit(GIO25);		// otis LCM RST
        
    
	//GIO_setBit(GIO14);		// otis
    GIO_setBit(GIO15);
	GIO_setBit(GIO16);		
    //GIO_setBit(GIO22);		// R_LED
    //GIO_setBit(GIO23);		// O_LED
    //GIO_setBit(GIO24);		// G_LED
    //GIO_setBit(GIO27);
    //GIO_setBit(GIO28);
    GIO_setBit(GIO30);
    
    /*gioset.altUse          = TRUE;	// FSEL setting
    GIO_setConfig(GIO23, &gioset);
    GIO_setConfig(GIO24, &gioset);
    gioset.altUse          = FALSE;
    GIO_setBit(GIO23);
    GIO_setBit(GIO24);*/
}
                              
void IDE_CTRL(BOOL enable) {	//otis
	/*if(enable == TRUE) {
	    GIO_setBit(GIO29);		// IDE CE#
	    GIO_setBit(GIO14);		// IDE Power
	    GIO_setBit(GIO25);		// IDE RESET
		GIO_clearBit(GIO29);	// IDE CE#
	} else {
	    GIO_setBit(GIO29);		// IDE CE#
	    GIO_clearBit(GIO14);	// IDE Power
	    GIO_clearBit(GIO25);	// IDE RESET
	}*/
}

void LCD_CTRL(BOOL enable) {
	if(enable == TRUE)
		GIO_setBit(GIO18);		//otis
		//GIO_setBit(GIO28);
	else
		GIO_clearBit(GIO18);	//otis
		//GIO_clearBit(GIO28);
}
								
void UF32_CTRL(BOOL enable) {	//otis
	/*if(enable == TRUE) {
		GIO_setBit(GIO26);	// USB Reset
		GIO_clearBit(GIO26);
		GIO_setBit(GIO26);
		GIO_setBit(GIO14);	// IDE Power
		GIO_setBit(GIO25);	// IDE RESET
		
//		GIO_setBit(GIO27);	// check ATA enable
		GIO_setBit(GIO28);  // bug LCD wait next revision
//		GIO_setBit(GIO30);	// check SD PU n PD
		
//		GIO_setBit(GIO7);   // for sagiters	
//		GIO_setBit(GIO29);  // check H/W
	} else {
		GIO_clearBit(GIO14);
		GIO_clearBit(GIO25);	// IDE Power
		GIO_clearBit(GIO26);	// USB Reset
//		GIO_clearBit(GIO27); 	// check ATA enable
		GIO_clearBit(GIO28);	// bug LCD wait next revision
//		GIO_clearBit(GIO30);	// check SD PU n PD

//		GIO_clearBit(GIO7);		// for sagiters	
//		GIO_clearBit(GIO29);	// check H/W		
	}*/
}

void TVP5150_CTRL(BOOL enable) {
	if(enable == TRUE) {
		GIO_setBit(GIO27);		// otis  TVP5150 Power
		//GIO_setBit(GIO18);	// TVP5150 Power
		{						// TVP5150 Reset
			int i;
			
			GIO_clearBit(GIO28);// otis  TVP5150 Reset
			//GIO_clearBit(GIO6);
			for(i=0; i<100; i++);
			GIO_setBit(GIO28);	// otis
			//GIO_setBit(GIO6);
			for(i=0; i<1000; i++);
		}
		GIO_setBit(GIO14);		// otis OPA360_EN
		//GIO_clearBit(GIO15);
	}else{
		GIO_clearBit(GIO27);	// otis TVP5150 Power
		GIO_clearBit(GIO28);	// otis TVP5150 Reset
		GIO_clearBit(GIO14);	// otis OPA360_DES
		
		//GIO_clearBit(GIO18);	// TVP5150 Power
		//GIO_clearBit(GIO6);	// TVP5150 Reset
		//GIO_setBit(GIO15);
	}
}

⌨️ 快捷键说明

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