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

📄 dvd.c

📁 我个人编写的车载dvd上的程序
💻 C
字号:

#include "public.h"

#ifdef DVDMODE_ENABLE

DVD_struct DVD;

void DVDMain(void)
{

    if((!((System.FWorkMode.Next==WORKMODE_DVD)||
          (System.FWorkMode.Next==WORKMODE_USB)||
          (System.FWorkMode.Next==WORKMODE_SD)) )
        ||
       (!((System.FWorkMode.Current==WORKMODE_DVD)||
          (System.FWorkMode.Current==WORKMODE_USB)||
          (System.FWorkMode.Current==WORKMODE_SD)))
      )
    {
        return;
    }

    DVDAnalyseDsaData();
    DVDWorkMode();
    DVDKey();
    DVDDisplay();

}

void DVDAnalyseDsaData(void)
{
    unsigned char RecCommand,RecData;

    RecCommand = (unsigned char)((RecBuf[0] >> 8)&0x00ff);
    RecData = (unsigned char)(RecBuf[0] & 0x00ff);
    
    switch(RecCommand)
    {
        case RECEIVE_SOURCE_TYPE:
            DVD.SourceType = RecData;
            switch(DVD.SourceType)
            {
                case DVD_SOURCE_DISC:
                    System.FWorkMode.Requst = WORKMODE_DVD;
                    break;

                case DVD_SOURCE_USB:
                    System.FWorkMode.Requst = WORKMODE_USB;
                    
                    break;

                case DVD_SOURCE_SD:
                    System.FWorkMode.Requst = WORKMODE_SD;
                    
                    break;
            }


        case RECEIVE_USBCARD_SWITCHSTATUS:
            DVD.USBCARDSwitchStatus = RecData;
            switch(DVD.USBCARDSwitchStatus)
            {
                case USB_CARD_NO_CHANGE:

                    break;

                case SWITCH_TO_USB_BUT_HAS_NO_USB:
                    DVD.No_USB = 1;
                    DVD.Is_USB = 0;
                    System.FWorkMode.Requst = WORKMODE_IDLE;
                    break;

                case SWITCH_T_CARD_BUT_HAS_NO_CARD:
                    DVD.No_CARD = 1;
                    DVD.Is_CARD = 0;
                    System.FWorkMode.Requst = WORKMODE_IDLE;
                    break;

                case HAS_USB_AND_SWITCH_TO_USB:
                    DVD.Is_USB = 1;
                    DVD.No_USB = 0;
                    System.FWorkMode.Requst = WORKMODE_USB;
                    break;

                case HAS_CARD_AND_SWITCH_TO_CARD:
                    DVD.Is_CARD = 1;
                    DVD.No_CARD = 0;
                    System.FWorkMode.Requst = WORKMODE_SD;
                    break;
                 

            }
            break;

        case RECEIVE_SYSTEM_RESET:
            DVD.SystemReset = RecData;

            break;

        case RECEIVE_TRACK_TIMEOUT:
            DVD.TrackTimeout = RecData;

            break;

        case RECEIVE_FILE_TYPE:
            DVD.FileType = RecData;

            break;

        case RECEIVE_OTHER_CMD://reserse.
            DVD.Other_cmd = RecData;

            break;

        case RECEIVE_DISC_NUMBER:
            DVD.DiscNumber = RecData;
            break;

        case RECEIVE_NUMBER_DATA:
            DVD.DiscFileNum = RecData;
            break;

        case RECEIVE_TIME_HOUR:
            DVD.TimeHour = RecData;
            break;

        case RECEIVE_TIME_MINUTE:
            DVD.TimeMinute = RecData;

            break;

        case RECEIVE_TIME_SECOND:
            DVD.TimeSecond = RecData;

            break;

        case RECEIVE_MEDIATYPE_ERR:
            DVD.MeadiaType = RecData;

            break;

        case RECEIVE_AUDIO_TYPE:
            DVD.AudioType = RecData;

            break;

        case RECEIVE_PLAY_STATE:
            DVD.PlayState = RecData;
            switch(DVD.PlayState)
            {
                case STATE_READING_DISC:
                    break;

                case STATE_LOADING_USB:
                    break;

                case STATE_LOADING_CARD:
                    break;

                case STATE_PLAY:
                    break;

                case STATE_PAUSE:
                    break;

                case STATE_FWD:
                    break;

                case STATE_REW:
                    break;

                case STATE_STOP:

                    break;    

            }
            break;

        case RECEIVE_PLAY_MODE:
            DVD.PlayMode = RecData;
            switch(DVD.PlayMode)
            {
                case MODE_NORMAL:
                    break;

                case MODE_REPEAT_AB:
                    break;

                case MODE_REPEAT_ONE:
                    break;

                case MODE_REPEAT_ALL:
                    break;

                case MODE_RANDOM:
                    break;                  
            }
            break;

        default:
            break;
    }
}

void DVDWorkMode(void)
{
    switch(System.FWorkMode.Next)	
	{
		case WORKMODE_DVD:
			DVD.WorkMode=DVD_WORKMODE_DISC;
			//should be start to show "Loading...",if there is VFD panel.
			break;
            
		case WORKMODE_USB:
			DVD.WorkMode=DVD_WORKMODE_USB;
			break;
            
		case WORKMODE_SD:
			DVD.WorkMode=DVD_WORKMODE_SD;
			break;
	}
    
    switch(DVD.WorkMode)
    {
        case DVD_WORKMODE_IDLE:

            break;

        case DVD_WORKMODE_DISC:
           //need to process Eject.
            
        
            break;

        case DVD_WORKMODE_USB:

            break;

        case DVD_WORKMODE_SD:

            break;

    }


}


void DVDKey(void)
{
#if 0
    switch(KeyCode)
	{
		case S_AD_EJECT:
		case P_RM_EJT:

			if(DVD.HaveDisc == DISC_IN)
			{//eject out.
                TrayModeState = TRAYMOTOR_OPEN_REQ;
			}
			else
			{//eject in
                if(PINin_LOADSW)
                {
                    TrayModeState = TRAYMOTOR_CLOSE_REQ;
                }
                else
                {
                    TrayModeState = TRAYMOTOR_IDLE;
                    //show no disc,and send command to 8202t
                }
			}
			break;
	}
   #endif 

}

void DVDDisplay(void)
{//revese.


}


#ifdef SUPPORT_TCON
const unsigned char T112_Config_Data_50[256]=
{
0x00,0x00,0x00,0x00,0x2F,0x00,0x00,0x80,0x80,0x00,0x60,0x60,0x00,0x20,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x83,0x00,0xB0,0x00,0xFF,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x83,0x00,0x7F,0x3F,0x00,0x00,0x10,0x40,0x50,0x00,0x20,0x03,0x00,0x00,0x00,0x10,
0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x30,0xAD,0xDF,0x06,0xD0,0x02,0xF4,0x00,0x84,0xD6,0x05,0x01,0x04,0x00,0x00,0x00,
0x01,0x8F,0x0F,0x0F,0x04,0x08,0x88,0x00,0x80,0x80,0x00,0x7F,0x80,0x00,0x00,0x00,
0xB0,0x00,0x66,0x2E,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x80,0x80,
0x00,0x00,0x00,0x00,0xC7,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x04,0x00,0x00,0x00,0x00,0x10,0x00,0x95,0xCC,0x64,0xD0,0x81,0x02,0x10,0xFF,0x40,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x3A,0x00,0x11,0x00,0xE0,0x01,0xEA,0x00,0x68,0x02,0x0C,0x01,0x10,0x00,0x03,0x00,
0x01,0x08,0x00,0x00,0x00,0x22,0x00,0x00,0x15,0x02,0x03,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0xEA,0x00,
0x91,0xF4,0x00,0x00,0x0F,0x05,0x1D,0x00,0x07,0x80,0x11,0x80,0x00,0x00,0x00,0x00,
0x50,0x04,0x00,0x54,0x57,0xD2,0xA1,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,

};

const unsigned char T112_Config_Data_52[256]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x21,0x71,0x02,0x02,0x0C,0x02,0x02,0xF2,0x01,0x29,0x00,0x01,0x00,0x03,0x00,0x00,
0x01,0xFB,0x01,0x37,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x50,0x04,0x00,0x54,0x57,0xD2,0xA1,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,
};

const unsigned char T112_Config_Data_54[256]=
{
0x00,0x09,0x4B,0x00,0xD8,0x32,0x0A,0x21,0x50,0x3E,0xA0,0x00,0x8A,0x07,0x00,0x0C,
0x27,0xFF,0x06,0x82,0x40,0x64,0x74,0xCB,0x21,0xF0,0x7C,0x0F,0x20,0x00,0x00,0x00,
0x3E,0x3E,0x00,0x80,0xE9,0x0F,0x2D,0x50,0x22,0x4E,0xD6,0x4E,0x23,0x48,0x88,0x50,
0x26,0x69,0x70,0x0E,0x6C,0x90,0x70,0x0E,0x00,0x0A,0x0E,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x1F,0xFF,0x09,0x00,0x21,0xEF,0xF9,0x03,0x43,0x0D,0x71,0x01,0x01,0x00,0x00,0x00,
0x07,0x00,0x42,0x39,0x07,0x20,0x03,0x10,0x00,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};


void Reset_TFT(void)
{
    
    WriteToI2c(0x50,0,&T112_Config_Data_50[0],256);
    WriteToI2c(0x52,0,&T112_Config_Data_52[0],256);
    WriteToI2c(0x54,0,&T112_Config_Data_54[0],256);
}
void TFTBACKLED_Init()
{
    PD_TFTBACKLED = 1;
    PCR1_TFTBACKLED  = 1;
    PCR2_TFTBACKLED = 0;
    Pin_TFTBACKLED  = 1;
    PD_TFTRESET = 1;
    PCR1_TFTRESET  = 1;
    PCR2_TFTRESET = 0;
    Pin_TFTRESET = 0;
    Wait1ms(100);
    Pin_TFTRESET  = 1;
}
void TFTBACKLED_Ctrl(unsigned char on)
{
      if(on) Pin_TFTBACKLED  = 1;
      else Pin_TFTBACKLED  = 0;
      	
}
#endif


#endif


⌨️ 快捷键说明

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