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

📄 timer.c

📁 dz3000_51.0.0.4.rar
💻 C
📖 第 1 页 / 共 3 页
字号:
				   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 UP  Key
		 
				   if (temp_key)
				   {
						if (key != temp_key)
						{
							 key = temp_key;
							 return;
						}
						else
						{
							 pressing_key = K_UpKey;
							 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);  
		 
				   if (temp_key)
				   {
						if (key != temp_key)
						{
							 key = temp_key;
							 return;
						}
						else
						{
							 pressing_key = K_MenuKey;
							 old_key = key;
							 return;
						}
				   }
	 /*  
				   //DET_B
				   L2_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
				   L2_GetGPIOBit(24,&temp_key);  //Check Left Key
		 
				   if (temp_key)
				   {
						if (key != temp_key)
						{
							 key = temp_key;
							 return;
						}
						else
						{
							 pressing_key = K_DownKey;
							 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_SelectKey;
							 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_LeftKey;
							 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_RightKey;
							 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_SelectKey:
							 TIMER0_SetGPIOBit(19,0);
							 TIMER0_SetGPIOBit(20,0);
							 TIMER0_SetGPIOBit(21,1);
							 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_RightKey:
							 TIMER0_SetGPIOBit(19,0);
							TIMER0_SetGPIOBit(20,0);
							 TIMER0_SetGPIOBit(21,1);
							 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_ModeKey:
							 L2_SetGPIOBit(19,0);
							 L2_SetGPIOBit(20,1);
							 L2_SetGPIOBit(21,0);
							 L2_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_FlashKey:
							 L2_SetGPIOBit(19,0);
							 L2_SetGPIOBit(20,1);
							 L2_SetGPIOBit(21,0);
							 L2_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,0);
							 TIMER0_SetGPIOBit(21,1);
							 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_MenuKey:
							 TIMER0_SetGPIOBit(19,0);
							 TIMER0_SetGPIOBit(20,1);
							 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_UpKey:
							 TIMER0_SetGPIOBit(19,1);
							 TIMER0_SetGPIOBit(20,0);
							 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_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;
		 
						default:
							 pressing_key = K_ReleaseKey;
							 old_key = key;
							 break;
				   }
			  }
		 
			  TIMER0_SetGPIOBit(19,0);
			  TIMER0_SetGPIOBit(20,0);
			  TIMER0_SetGPIOBit(21,0);

	
     #else
	
		 if ((pressing_key == K_ReleaseKey) || (pressing_key == 0x04))
		 {
			  Key_Column1 = 1;	  //Scan Display,Menu,Snap1,Snap2
			  Key_Column2 = 0;
			  //Joe@2003.3.7 13:41 add begin
			  Key_Column3 = 0;
			  //Joe@2003.3.7 13:41 add end
	
			  TIMER0_GetGPIOByte(25,&temp_key);
	
			  temp_key &= 0x1e;
	
			  if ((temp_key == 0x02) && (pressing_key == K_ReleaseKey))   //Check Display Key
			  {
				   if (key != temp_key)
				   {
						key = temp_key;
						return;
				   }
				   else
				   {
						pressing_key = K_DisplayKey;
						old_key = key;
						return;
				   }
			  }
			  else
			  {
				   if ((temp_key == 0x04) && (pressing_key == K_ReleaseKey))   //Check Menu Key
				   {
						if (key != temp_key)
						{
							 key = temp_key;
							 return;
						}
						else
						{
							 pressing_key = K_MenuKey;
							 old_key = key;
							 return;
						}
				   }
				   else
				   {
						if ((temp_key == 0x08) && (pressing_key == K_ReleaseKey))	 //Check Snap1 Key
						{
							 if (key != temp_key)
							 {
								  key = temp_key;
								  return;
							 }
							 else
							 {
								  pressing_key = K_Snap1Key;
								  old_key = key;
								  return;
							 }
						}
						else
						{
							 //Joe@2003.3.7 12:35 modify begin
							 //if ((temp_key == 0x18) && (pressing_key == K_Snap1Key)) //Check Snap2 Key
							 if ( ((temp_key == 0x18) && (pressing_key == K_Snap1Key)) ||
								  ((temp_key == 0x10) && (pressing_key == K_ReleaseKey)) )
							 //Joe@2003.3.7 12:35 modify end
							 {
								  if (key != temp_key)
								  {
									   key = temp_key;
									   return;
								  }
								  else
								  {
									   pressing_key = K_Snap2Key;
									   old_key = key;
									   return;
								  }
							 }
						}
				   }
			  }
	
			  Key_Column1 = 0;
			  Key_Column2 = 1;	  //Scan Left,Up,Right,Down
			  //Joe@2003.3.7 13:41 add begin
			  Key_Column3 = 0;
			  //Joe@2003.3.7 13:41 add end
	
			  TIMER0_GetGPIOByte(25,&temp_key);
	
			  temp_key &= 0x1e;
	
			  if ((temp_key == 0x02) && (pressing_key == K_ReleaseKey))   //Check Left Key
			  {
				   if (key != temp_key)
				   {
						key = temp_key;
						return;
				   }
				   else
				   {
						pressing_key = K_LeftKey;
						old_key = key;
						return;
				   }
			  }
			  else
			  {
				   if ((temp_key == 0x04) && (pressing_key == K_ReleaseKey))	//Check Up Key
				   {
						if (key != temp_key)
						{
							 key = temp_key;
							 return;
						}
						else
						{
							 pressing_key = K_UpKey;
							 old_key = key;
							 return;
						}
				   }
				   else
				   {
						if ((temp_key == 0x08) && (pressing_key == K_ReleaseKey))	 //Check Right Key
						{
							 if (key != temp_key)
							 {
								  key = temp_key;
								  return;
							 }
							 else
							 {
								  pressing_key = K_RightKey;
								  old_key = key;
								  return;
							 }
						}
						else
						{
							 if ((temp_key == 0x10) && (pressing_key == K_ReleaseKey))	  //Check Down Key
							 {
								  if (key != temp_key)
								  {
									   key = temp_key;
									   return;
								  }
								  else
								  {
									   pressing_key = K_DownKey;
									   old_key = key;
									   return;

⌨️ 快捷键说明

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