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

📄 timer.c

📁 台湾凌阳方案300万数码相机源代码
💻 C
📖 第 1 页 / 共 4 页
字号:
			  G_IsKeyRelease = 1;
			}
               break;

          case K_SelectKey:
			if (G_IsKeyRelease == 0)
			{
			  G_KeyState  = K_UI_BUTTON_SELECT;//K_UI_BUTTON_DISP;
			  G_IsKeyRelease = 1;
			}
               break;

//-------------------Davis:patch_2005/Apr/08 mask end*/
          case K_Snap1Key:
			if (G_IsKeyRelease == 0)
			{
			  G_KeyState  = K_UI_BUTTON_SNAP1;
		       //G_IsKeyRelease = 1;

			}
               break;

          case K_Snap2Key:
               if (G_IsKeyRelease == 0)
			{
			  G_KeyState  = K_UI_BUTTON_SNAP2;
			  G_IsKeyRelease = 1;
               }

              break;

          //Joe@2003.3.5 12:49 add begin
	  case K_ModeKey:
	  //case K_MenuKey:
               if (G_IsKeyRelease == 0)
	       {
	       	 if ((G_UIStatusH & 0xff00) == K_UISTATUS_DSC_PREVIEW)
                    {
					G_KeyState = K_UI_BUTTON_PLAY_SWITCH;
					//G_ucZoomFactor=10;
					//L1_DisplayZoomIn(G_ucZoomFactor);
					// G_AE_com_index=4;
			}
                    else if((G_UIStatusH & 0xff00) == K_UISTATUS_DSC_PLAY)
                    {
                     //G_AE_com_index=2;
	       	     		G_KeyState = K_UI_BUTTON_VIDEO_SWITCH;
			}
			else if((G_UIStatusH & 0xff00) == K_UISTATUS_DSC_VIDEO)
			{
	       	    		 G_KeyState = K_UI_BUTTON_PCCAM_SWITCH;
			}
			else if((G_UIStatusH & 0xff00) == K_UISTATUS_DSC_PCCAM)
			{
					G_KeyState = K_UI_BUTTON_PREVIEW_SWITCH;
					UI_Buzzer();
			}
		    G_IsKeyRelease = 1;
               }

               break;

	  case K_ReleaseKey:

		//Joe@2003.3.5 9:06 add begin
		G_KeepPushKeyCount = 0;
		//Joe@2003.3.5 9:06 add end

		G_IsKeyRelease = 0;
		break;

          default:

               break;
     }
}

//=============================================================================
//TIMER0_Get_Hardware_Keypad1
//=============================================================================
//ada@0415 test ui
//patch4.2@ada@0527 for key scan
void TIMER0_Get_Hardware_Keypad1(void) USING_2
{
     UCHAR temp_key;

     #if (TURNKEY_OPTION == 1)
     if (pressing_key == K_ReleaseKey)
     {
          //SCAN_A
          TIMER0_SetGPIOBit(19,1);
          TIMER0_SetGPIOBit(20,0);
          TIMER0_SetGPIOBit(21,0);

          //DET_A
          TIMER0_GetGPIOBit(22,&temp_key);  //Check Snap Key

          if (temp_key)
          {
               if (key != temp_key)
               {
                    key = temp_key;
                    return;
               }
               else
               {
                    pressing_key = K_Snap2Key;
                    old_key = key;
                    return;
               }
          }

          //DET_B
          TIMER0_GetGPIOBit(23,&temp_key);  //Check Preview/Play Key

          if (temp_key)
          {
               if (key != temp_key)
               {
                    key = temp_key;
                    return;
               }
               else
               {
                    pressing_key = K_UpKey;//K_DisplayKey;
                    old_key = key;
                    return;
               }
          }

          //DET_C
          TIMER0_GetGPIOBit(24,&temp_key);  //Check Right Key

          if (temp_key)
          {
               if (key != temp_key)
               {
                    key = temp_key;
                    return;
               }
               else
               {
                    pressing_key = K_DownKey;
                    old_key = key;
                    return;
               }
          }

          //SCAN_B
          TIMER0_SetGPIOBit(19,0);
          TIMER0_SetGPIOBit(20,1);
          TIMER0_SetGPIOBit(21,0);

          //DET_A
          TIMER0_GetGPIOBit(22,&temp_key);  //Check Display Key

          if (temp_key)
          {
               if (key != temp_key)
               {
                    key = temp_key;
                    return;
               }
               else
               {
                    pressing_key = K_ModeKey;//K_ModeKey;
                    old_key = key;
                    return;
               }
          }
/*
          //DET_B
          TIMER0_GetGPIOBit(23,&temp_key);  //Check Flash Light Key

          if (temp_key)
          {
               if (key != temp_key)
               {
                    key = temp_key;
                    return;
               }
               else
               {
                    pressing_key = K_FlashKey;
                    old_key = key;
                    return;
               }
          }

          //DET_C
          TIMER0_GetGPIOBit(24,&temp_key);  //Check Left Key

          if (temp_key)
          {
               if (key != temp_key)
               {
                    key = temp_key;
                    return;
               }
               else
               {
                    pressing_key = K_LeftKey;
                    old_key = key;
                    return;
               }
          }
*/
          //SCAN_C
          TIMER0_SetGPIOBit(19,0);
          TIMER0_SetGPIOBit(20,0);
          TIMER0_SetGPIOBit(21,1);

          //DET_A
          TIMER0_GetGPIOBit(22,&temp_key);  //Check Menu Key

          if (temp_key)
          {
               if (key != temp_key)
               {
                    key = temp_key;
                    return;
               }
               else
               {
                    pressing_key = K_DisplayKey;
                    old_key = key;
                    return;
               }
          }

          //DET_B
          TIMER0_GetGPIOBit(23,&temp_key);  //Check Up Key

          if (temp_key)
          {
               if (key != temp_key)
               {
                    key = temp_key;
                    return;
               }
               else
               {
                    pressing_key = K_MenuKey;
                    old_key = key;
                    return;
               }
          }

          //DET_C
          TIMER0_GetGPIOBit(24,&temp_key);  //Check Down Key

          if (temp_key)
          {
               if (key != temp_key)
               {
                    key = temp_key;
                    return;
               }
               else
               {
                    pressing_key = K_SelectKey;
                    old_key = key;
                    return;
               }
          }
     }
     else //Check if all keys are released
     {
          switch(pressing_key)
          {
               case K_Snap2Key:
                    TIMER0_SetGPIOBit(19,1);
                    TIMER0_SetGPIOBit(20,0);
                    TIMER0_SetGPIOBit(21,0);
                    TIMER0_GetGPIOBit(22,&temp_key);

                    if (temp_key == 0)
                    {
                         if (key != temp_key)
                         {
                              key = temp_key;
                              return;
                         }
                         else
                         {
                              pressing_key = K_ReleaseKey;
                              old_key = key;
                              return;
                         }
                    }

                    break;

               case K_ModeKey:
		/*andrew_gu@2005/Mar/24, 14::25 (*/
                   /*
                    TIMER0_SetGPIOBit(19,1);
                    TIMER0_SetGPIOBit(20,0);
                    TIMER0_SetGPIOBit(21,0);
                    TIMER0_GetGPIOBit(23,&temp_key);//*/
                    //*
				TIMER0_SetGPIOBit(19,0);
                    	TIMER0_SetGPIOBit(20,1);
                    	TIMER0_SetGPIOBit(21,0);
                    	TIMER0_GetGPIOBit(22,&temp_key);//*/
		/*andrew_gu@2005/Mar/24, 14::25 )*/
                    if (temp_key == 0)
                    {
                         if (key != temp_key)
                         {
                              key = temp_key;
                              return;
                         }
                         else
                         {
                              pressing_key = K_ReleaseKey;
                              old_key = key;
                              return;
                         }
                    }

                    break;

               case K_DownKey:
                    TIMER0_SetGPIOBit(19,1);
                    TIMER0_SetGPIOBit(20,0);
                    TIMER0_SetGPIOBit(21,0);
                    TIMER0_GetGPIOBit(24,&temp_key);

                    if (temp_key == 0)
                    {
                         if (key != temp_key)
                         {
                              key = temp_key;
                              return;
                         }
                         else
                         {
                              pressing_key = K_ReleaseKey;
                              old_key = key;
                              return;
                         }
                    }

                    break;

               case K_UpKey:
			/*andrew_gu@2005/Mar/24, 14::10 (*/
                    /*
                    TIMER0_SetGPIOBit(19,0);
                    TIMER0_SetGPIOBit(20,1);
                    TIMER0_SetGPIOBit(21,0);
                    TIMER0_SetGPIOBit(22,&temp_key);//*/
			//*
			  TIMER0_SetGPIOBit(19,1);
                     TIMER0_SetGPIOBit(20,0);
                     TIMER0_SetGPIOBit(21,0);
                     TIMER0_GetGPIOBit(23,&temp_key);
			/*andrew_gu@2005/Mar/24, 14::10 )*/
                    if (temp_key == 0)
                    {
                         if (key != temp_key)
                         {
                              key = temp_key;
                              return;
                         }
                         else
                         {
                              pressing_key = K_ReleaseKey;
                              old_key = key;
                              return;
                         }
                    }

                    break;
/*
               case K_FlashKey:
                    TIMER0_SetGPIOBit(19,0);
                    TIMER0_SetGPIOBit(20,1);
                    TIMER0_SetGPIOBit(21,0);
                    TIMER0_GetGPIOBit(23,&temp_key);

                    if (temp_key == 0)
                    {
                         if (key != temp_key)
                         {
                              key = temp_key;
                              return;
                         }
                         else
                         {
                              pressing_key = K_ReleaseKey;
                              old_key = key;
                              return;
                         }
                    }

                    break;

               case K_LeftKey:
                    TIMER0_SetGPIOBit(19,0);
                    TIMER0_SetGPIOBit(20,1);
                    TIMER0_SetGPIOBit(21,0);
                    TIMER0_GetGPIOBit(24,&temp_key);

                    if (temp_key == 0)

⌨️ 快捷键说明

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