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

📄 key_cmd.c

📁 这是用W77E58编写的控制GSM模块
💻 C
📖 第 1 页 / 共 2 页
字号:

/************************************************************************/
/*                                                                      */
/*                         Filename: key_cmd.c                          */
/************************************************************************/
#include "global.h"
#include "util.h"
#include "i2c.h"
#include "dsa.h"
#include "key_cmd.h"
#include "mb90092.h"




extern unsigned char  IrKey;
extern bit bdata         IrKeyOn;
extern bit bdata         IR_repeat;
extern unsigned int    IR_press_time;


extern bit                  OSD_change_flag;
extern unsigned char        osd_task;

void KEY_servo(void)
{
               if(!IrKeyOn) return;                             
               IrKeyOn = 0;
               IR_press_time = 0;
               if(IR_repeat) IR_repeat = 0;


               if(SLOW_flag){
                   SLOW_flag = 0;
                   IrKey = 0;
                   OSD_display_char(CHAR_PLAY);
                   mpeg_task  = MPEG_PLAY_START;
               } 	



               switch(IrKey)
              {
                  case KEY_SLOW:
                           IrKey=0;  
                           SLOW_flag = 1;
                           OSD_display_char(CHAR_SLOW);
                           mpeg_task  = MPEG_SLOW_ACTION;

                           break;
                  case KEY_VOCAL:
                          IrKey=0;
                          if(++VocalCount == 3)VocalCount = 0;
                          switch(Vocalount)
                          {
                                     case 0://AUDIO_STEREO:
                                              MPEG_write(MPEG_ADDR_AUDOIO_CONFIG,(MPEG_read(MPEG_ADDR_AUDIO_CONFIG) & 0x3f00)|0x0000);
                                              OSD_display_char(CHAR_STEREO);
                                              break;
                                     case 1://AUDIO_LL:
                                              MPEG_write(MPEG_ADDR_AUDOIO_CONFIG,(MPEG_read(MPEG_ADDR_AUDIO_CONFIG) & 0x3f00)|0x8000);
                                              OSD_display_char(CHAR_LL);
                                              break;
                                     case 2://AUDIO_RR:
                                              MPEG_write(MPEG_ADDR_AUDOIO_CONFIG,(MPEG_read(MPEG_ADDR_AUDIO_CONFIG) & 0x3f00)|0x4000);
                                              OSD_display_char(CHAR_RR);
                                              break;
                                     	    
                                     default:
                                     	    break;
                                     

                          }	
                   
                          break;
 




                  case KEY_NP:
                          IrKey=0;
                          NTSC_flag = ~NTSC_flag;
                          
                          if(NTSC_flag)
                          {  
                             MPEG_SetFormt(MPEG_FORMAT_NTSC);
                             OSD_display_char(CHAR_NTSC);

                          }
                          else
                          {
                             MPEG_SetFormt(MPEG_FORMAT_PAL);
                             OSD_display_char(CHAR_PAL);
                          }
                          break;
 


                  case KEY_VOL_DOWN:
                          IrKey=0;
                          if(++volume>16)volume = 0;
                          MPEG_write_command(MPEG_SetVolume,vol_table[volume] ,0,0,0,0,0,2);
                          if(!volume)
                           	  OSD_display_char(CHAR_VOL_MIN);
                          else
                           	  OSD_display_char(CHAR_VOL_DOWN);
                          break;
 
                  case KEY_VOL_UP:
                          IrKey=0;
                          if(--volume==0)volume = 16;
                          MPEG_write_command(MPEG_SetVolume,vol_table[volume] ,0,0,0,0,0,2);
                          if(volume == 16)
                           	  OSD_display_char(CHAR_VOL_MAX);
                          else
                           	  OSD_display_char(CHAR_VOL_UP);
                          break;


                  case KEY_SHIFT_DOWN:
                           IrKey=0;
                           if(--PitchShift == 0)PitchShift = 0;
                           MPEG_Pitch(PitchShift);
                          if(!PitchShift)
                           	  OSD_display_char(CHAR_PITCH_MIN);
                          else
                           	  OSD_display_char(CHAR_PITCH_DOWN); 
                           
                          break;

                  case KEY_SHIFT_UP:
                           IrKey=0;
                           if(++PitchShift == 14)PitchShift = 14;
                           MPEG_Pitch(PitchShift);
                          if(PitchShift == 14)
                           	  OSD_display_char(CHAR_PITCH_MAX);
                          else
                           	  OSD_display_char(CHAR_PITCH_UP); 
                           
                          break;
                    case KEY_SHIFT_RESTORE:
                           IrKey=0;
                           PitchShift = 5;
                           MPEG_Pitch(PitchShift);
                           OSD_display_char(CHAR_PITCH_NORMAL);
                          break;
 

                  default:
                          break;


	}




}






void update_layer_status(unsigned char direct)
{

     if(direct){
        if(menu_layer==0){main_task++; if(main_task > Main_task_end)main_task=Main_task_begin;}
        else
        if(menu_layer==1){
           if(main_task==Main_task_NAVI) { navi_task++; if(navi_task > Navi_task_end)navi_task=Navi_task_begin;}
           if(main_task==Main_task_DVD)  { dvd_task++;  if(dvd_task > Dvd_task_end)dvd_task=Dvd_task_begin;}
           if(main_task==Main_task_TV)   { tv_task++;   if(tv_task > TV_task_end)tv_task=TV_task_begin;}
           if(main_task==Main_task_RADIO){ radio_task++;if(radio_task > Radio_task_end)radio_task=Radio_task_begin;}
           if(main_task==Main_task_GSM){ gsm_task++;  if(gsm_task > GSM_task_end)gsm_task=GSM_task_begin;}

        }
        else
        if(menu_layer==2){
           if(main_task==Main_task_NAVI)
           {
                if(navi_task==Navi_real_time)       { real_time_task++;      if(real_time_task > RealTime_task_end)real_time_task=RealTime_task_begin;}
                if(navi_task==Navi_set_zoom)        { zoom_task++;           if(zoom_task > Zoom_task_end)zoom_task=Zoom_task_begin;}
                if(navi_task==Navi_search_address)  { search_address_task++; if(search_address_task > SearchAddress_task_end)search_address_task=SearchAddress_task_begin;}
                if(navi_task==Navi_record)          { record_task++;         if(record_task > Record_task_end)record_task=Record_task_begin;}
                if(navi_task==Navi_speech)          { speech_task++;         if(speech_task > Speech_task_end)speech_task=Speech_task_begin;}
                if(navi_task==Navi_road_display)    { road_display_task++;   if(road_display_task > RoadDisplay_task_end)road_display_task=RoadDisplay_task_begin;}
                if(navi_task==Navi_lati_longti)     { lati_longti_task++;    if(lati_longti_task > LatiLongti_task_end)lati_longti_task=LatiLongti_task_begin;}
                if(navi_task==Navi_car_connect)     { car_connect_task++;    if(car_connect_task > CarConnect_task_end)car_connect_task=CarConnect_task_begin;}
           }
           else
           if(main_task==Main_task_DVD){


           }
           else
           if(main_task==Main_task_TV){


           }

           else
           if(main_task==Main_task_RADIO){


           }
           else
           if(main_task==Main_task_GSM){


           }




        }/*if(menu_layer==2)*/

     }
     else
     {

        if(menu_layer==0){
                           if(main_task==Main_task_begin)main_task=Main_task_end;
                           else main_task--;
        }
        else
        if(menu_layer==1){
           if(main_task==Main_task_NAVI) {
                           if(navi_task==Navi_task_begin)navi_task=Navi_task_end;
                           else navi_task--;
           }
           if(main_task==Main_task_DVD)  {
                           if(dvd_task==Dvd_task_begin)dvd_task=Dvd_task_end;
                           else dvd_task--;
           }
           if(main_task==Main_task_TV)   {
                           if(tv_task==TV_task_begin)tv_task=TV_task_end;
                           else tv_task--;
           }
           if(main_task==Main_task_RADIO){

⌨️ 快捷键说明

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