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

📄 mst037c_d01_gpio.c

📁 mstar 776 开发的车载dvd
💻 C
字号:



#include "mreg51.h"
#include "sysinfo.h"
#include "hwreg.h"
#include "drvuart.h"
#include "drvmiu.h"
#include "drvsys.h"
#include "Analog_Reg.h"
#include "drvGlobal.h"
#include "drvISR.h"
#include "drviic.h"

#include <stdio.h>

#include "DrvGpio.h"

//---------------------------------------------------------------------
//---------------------------------------------------------------------
static void EnableLVDS_HS_VS_VE_DE_IsGpio( void )   // HS,VS,Clk,Ve is gpio
{
    XBYTE[ODD_IS_GPIO_0]  |= 0x0f;
    XBYTE[ODD_GPO_SEL_0]  |= 0x0f;
    XBYTE[ODD_GPO_OEZ_0]  =( XBYTE[ODD_GPO_OEZ_0] & 0xf0) | HS_VS_VD_DE_IO_SETTING;
}

//---------------------------------------------------------------------
static void EnableLVDS_B0_B1_IsGpio ( void )
{
    XBYTE[REG_SEL_TTL_1]  |= 0x08;  //bit 3 =0;
    XBYTE[ODD_IS_GPIO_3]  |= 0x0c;  //PAD_b_ODD0/PAD_b_ODD1 is GPIO
    XBYTE[ODD_GPO_SEL_3]  |= 0x0c;  //

    //define B0/b1 gpio is output port
    XBYTE[ODD_GPO_OEZ_3] = (XBYTE[ODD_GPO_OEZ_3] & 0xf3)| SET_B0_B1_IO_MODE;
}

//---------------------------------------------
static void Initial_ModLvdsGpio( void )
{
        EnableLVDS_B0_B1_IsGpio();
        EnableLVDS_HS_VS_VE_DE_IsGpio();
}
//------------------------------------------------------

//------------------------------------------------------
static void Initial_UART1_Port(void )
{
        //Assign as GPIO
        XBYTE[REG_MUX_CONFIG_3] &= ~(SECOND_UART_MODE); //UART1 not enable
        XBYTE[REG_MUX_FUNC_SEL1] &= (~CEC_MODE);        //XBYTE[0x1ea1] &=0xe7;   //disable CEC
        XBYTE[REG_P1_ENABLE] &=~(BIT2|BIT1|BIT0);
        XBYTE[REG_MUX_FUNC_SEL0] &=0xf3;            //atcon_setting=00b
        XBYTE[REG_GPIO_OE_0]=BIT0;
}

//---------------------------------------------------------------------
static void Initial_Pin134( void )
{
        XBYTE[REG_MUX_FUNC_SEL1] &= (~CEC_MODE);
        XBYTE[REG_MUX_FUNC_SEL3]&=(~FLHWE_IS_GPIO);
}
//---------------------------------------------
static void Initial_IR_Port( void )
{
    XBYTE[REG_MUX_CONFIG_2] |= IR_PORT_SEL;

        XBYTE[REG_MUX_FUNC_SEL2]=(XBYTE[REG_MUX_FUNC_SEL2] & 0x3f )|IRIN_INT_IS_GPIO;
        XBYTE[REG_MUX_FUNC_SEL3] &= (~IRIN2_INT2_IS_GPIO);
        XBYTE[REG_GPIO_OE_0] &= (~ (BIT4|BIT3) );

}
//---------------------------------------------------------------------
static void Initial_PCI_Port(void)	  //assign as cardreader
{
    XBYTE[REG_MUX_FUNC_SEL0] &= (~ATCON_SETTING);
    XBYTE[REG_MUX_CONFIG_4] =(XBYTE[REG_MUX_CONFIG_4] & (~FCIE_CONFIG) )| FCIE_SELECT;
    XBYTE[REG_MUX_FUNC_SEL3]&=(~FLHWE_IS_GPIO);

}
//---------------------------------------------
static void Initial_I2S_Port( void )
{
    XBYTE[REG_MUX_FUNC_SEL3]&=( ~I2S_IS_GPIO );
    XBYTE[REG_MUX_CONFIG_3] = ( XBYTE[REG_MUX_CONFIG_3] & 0x3f ) | I2S_MUTE_MODE_1;    //I2sMUTE pin
}
//---------------------------------------------
static void Intial_TS_Port(void)	  //TS_PORT_IS_TS
{
        XBYTE[REG_MUX_CONFIG_0] |= TS0_IS_TS0;

        XBYTE[REG_MUX_CONFIG_0] &= ~( TS0_IS_DI );
        XBYTE[REG_MUX_FUNC_SEL3]&= ~( TS0_IS_GPIO );
        XBYTE[REG_MUX_FUNC_SEL6]&= ~( DHC_DFT_MODE);
        XBYTE[REG_MUX_CONFIG_5] &= ~( DSPE_JTAG_MODE );
}
// ---------------------------

//---------------------------------------------------------------------
void Mst_GPIO_Initial( void )
{
    Intial_TS_Port();

    Initial_I2S_Port();

    Initial_PCI_Port();

    Initial_IR_Port();

    Initial_Pin134();

    Initial_ModLvdsGpio();

    Initial_UART1_Port();
}
//---------------------------------------------------------------------


⌨️ 快捷键说明

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