📄 gpio.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 + -