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

📄 mdisp_key.c

📁 自认为比较好的按键处理程序 自认为比较好的按键处理程序 在中断内检测
💻 C
📖 第 1 页 / 共 3 页
字号:
      {
         gmode_water=cMODE_NONE_WATER;     //在自动上水模式下按此按键,上水模式取消变位无模式
	     gmode0=gmode_water;               //保存当前上水模式
	 
      }
      else
      {
         gmode_water=cMODE_AUTO_WATER;     //不在自动上水模式下,按此按键设置为自动上水模式
	     gmode0=gmode_water;               //保存当前上水模式
      }
   }
}
//
/*---------手动上水键处理-----------*/ 
void mkv_handwater(void)
{
   if(fkey_lock)                       //键盘锁定状态
   {
      str_music.fkey=0;
      fdis_key=1;
   }
   else
   {
      fdis_key=1;
      if(gmode_water==cMODE_HAND_WATER)  //在手动上水模式下按手动上水键,回到以前的上水模式
      {
	     gmode_water=gmode0;
	  }
      else
      {
	     gmode_water=cMODE_HAND_WATER;  //不在手动上水模式下按手动上水键,模式切换为手动上水模式 
	  }                                 //手动上水模式不需要保存模式值
   }
}
//
/*---------定时上水键处理-----------*/
void mkv_timerwater(void)
{
   if(fkey_lock)                      //键盘锁定状态
   {
      str_music.fkey=0;
      fdis_key=1;
   }
   else
   {
      fdis_key=1;
      if(gmode_water==cMODE_TIMER_WATER)  //在定时上水模式下按此按键,上水模式取消变位无模式
      {
	     gmode_water=cMODE_NONE_WATER;
	     gmode0=gmode_water;              //保存当前上水模式
      }
      else
	  {
	     gmode_water=cMODE_TIMER_WATER;  //不在定时上水模式下按定时上水键,模式切换为定时上水模式
	     gmode0=gmode_water;             //保存当前上水模式  
	  }             
   }
}
//
/*---------自动加热键处理-----------*/
void mkv_autoheat(void)
{
   if(fkey_lock)                      /*键盘锁定状态*/
   {
      str_music.fkey=0;
      fdis_key=1;
   }
   else
   {
      fdis_key=1;
      if(gmode_heat==cMODE_AUTO_HEAT)  //在自动加热模式下按此按键,加热模式取消变位无加热模式  
      {
         gmode_heat=cMODE_NONE_HEAT;
         gmode1=gmode_heat;              //保存当前加热模式 
      }
      else
      {
         gmode_heat=cMODE_AUTO_HEAT;     //不在自动加热模式下自动加热键,模式切换为自动加热模式
         gmode1=gmode_heat;              //保存当前加热模式
      }                
   }
}
/*---------手动加热键处理-----------*/
void mkv_handheat(void)
{
   if(fkey_lock)                      //键盘锁定状态
   {
      str_music.fkey=0;
      fdis_key=1;
   }
   else
   {
      fdis_key=1;
      if(gmode_heat==cMODE_HAND_HEAT)  //在手动加热模式下按手动加热键,回到以前的加热模式
      {
         gmode_heat=gmode1;
      }
      else
      {
         gmode_heat=cMODE_HAND_HEAT;     //不在手动加热模式下按手动加热键,模式切换为手动加热模式
      }                                  //手动加热模式不需要保存模式值
   }
}
/*---------定时加热键处理-----------*/
void mkv_timerheat(void)
{
   if(fkey_lock)                          //键盘锁定状态
   {
      str_music.fkey=0;
      fdis_key=1;
   }
   else
   {
      fdis_key=1;
      if(gmode_heat==cMODE_TIMER_HEAT)    //在定时加热模式下按此按键,加热模式取消变位无加热模式
      {
         gmode_heat=cMODE_NONE_HEAT;  
         gmode1=gmode_heat;               //保存当前加热模式
      }
      else
      {
         gmode_heat=cMODE_TIMER_HEAT;     //不在定时加热模式下按定时加热键,模式切换为定时加热模式
	     gmode1=gmode_heat;               //保存当前加热模式      
      }     
   }
}
/*-------------错键----------------*/
void mkv_err(void)
{
   str_music.fkey=0; 
   fdis_key=1;
}
//
/****************************************************************************/
  /***********************连续键*************************/
/****************************************************************************/
/*---------空键连续键-----------*/
void mkc_null(void)
{
  ;
}
//
/*---------设置键连续键-----------*/
void mkc_set(void)
{
   if(gtimms[cDIR_SET]==0)     //检测---3S时间
   {
      fdir_set=1;              //处于设定状态
	  gpage=cpage_tim_hou;     //页面变化为北京时间小时设定页面
	  TIMSEC(60,cUPDATE);      //设置60S倒计时
	  str_music.fkey=1;
      fdis_key=1;              //3S时间到应禁止按键接收
   }
}
//
/*---------增键连续键-----------*/
void mkc_up(void)
{
   if(fkey_lock)           /*键盘锁定状态*/
   {
      if(gtimsec[cUP_8S]==0)
      {
         fkey_lock=0;         /*按键解锁*/
	     str_music.flock=1;   /*按键解锁音乐*/
		 fdis_key=1;
      }
   }
   else
   {
      if(fdir_set)             /*设定状态*/
      {
         if(gtimms[cKC]==0)     /*检测---连续键600MS时间*/
	     {
	        TIMSEC(60,cUPDATE);   /*设置页面刷新时间60S*/
	        TIMMS(150,cKC);       /*设置连续键的间隔时间150ms*/ 
	        mdisp_up();
		 }
      }
      else                      /*主显示状态:由page=0情况下进入此状态*/
      {
	     if(gtimsec[cUP_8S]==0) 
	     {
	        fkey_lock=1;        /*置键盘锁定标志*/
	        str_music.flock=1;  /*键盘锁定音乐*/
			fdis_key=1;
	     }
      }
   }
}
//
/*---------减键连续键-----------*/
void mkc_dn(void)
{
   if(gtimms[cKC]==0)      /*检测---连续键600MS时间*/
   {
      TIMSEC(60,cUPDATE);    /*设置页面刷新时间60S*/
      TIMMS(150,cKC);         /*设置连续键的间隔时间150ms*/
      mdisp_dn();
   }
} 
//
/*---------自动上水连续键处理-----------*/
void mkc_autowater(void)
{
   
  fdis_key=1;  /*禁止按键接收*/
}
//
/*---------手动上水连续键处理-----------*/
void mkc_handwater(void)
{
  
  fdis_key=1; 
}
//
/*---------定时上水连续键处理-----------*/
void mkc_timerwater(void)
{
  
  fdis_key=1; 
}
//
/*---------自动加热连续键处理-----------*/
void mkc_autoheat(void)
{
  
  fdis_key=1;
}
//
/*---------手动加热连续键处理-----------*/
void mkc_handheat(void)
{
 
  fdis_key=1;
}
//
/*---------定时加热连续键处理-----------*/
void mkc_timerheat(void)
{
  fdis_key=1;
}
/*---------错键连续键处理-----------*/
void mkc_err(void)
{

⌨️ 快捷键说明

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