亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hw_fr0605akey.c

?? RK27驅動
?? C
字號:
/******************************************************************/
/*   Copyright (C) 2007 ROCK-CHIPS FUZHOU . All Rights Reserved.  */
/*******************************************************************
File	:  hw_vx979key.c
Desc	:  VX979按鍵消息\接口函數的實現
		  
Author	: huangxinyu
Date	: 2007-07-09
Notes	: 

$Log: hw_Fr0605Akey.c,v $
Revision 1.1.1.1  2008/03/06 13:29:06  Lingzhaojun
no message

Revision 1.1  2007/11/26 14:31:30  Huangxinyu
增加vx979key目錄

Revision 1.4  2007/10/15 09:16:37  Huangxinyu
根據RK27提交修改driver

Revision 1.3  2007/10/08 02:38:45  Lingzhaojun
添加版本自動注釋腳本

*********************************************************************/

#include "include.h"
#include "hw_include.h"
#include "hw_gpio.h"
#include "hw_Fr0605Akey.h"
#include "keyglobal.h"
#include "hwapi_adc.h"
#include "hw_timer.h"

#if (KEY_TYPE == Fr0605AKEY)

static  UINT16  gKeyPortState;	    /*	用于記錄 按鍵 PIO 的狀態,相應位為高表示按下,相應位為低表示沒有按下或彈起 */
static  UINT8   gKeyPioState;               /*  用于記錄GPIO口用作keyboard之前的狀態,在反初始化時可恢復 */

#ifdef ADC_KEY_EN	
extern INT16U			gKeyScanCode;
extern INT16U			gKeyDownMsgSend;
extern unsigned short   AdcValue[4];
//extern unsigned char 	AdcCurrChn;
#endif
extern UINT16 gSysState;

void  FieldRockKeySendMsg(UINT16 press , UINT16 KeyNo);

KEYEXT  UINT16   gKeyIOMasks[] = 
	{PIO_MENU_MASK, PIO_FFW_MASK, PIO_FFD_MASK, PIO_UP_MASK,  PIO_PLAY_MASK };
/**************************************************************************
* 函數描述: 導航鍵初始化
* 入口參數: 無
* 出口參數: 無
* 返回值:   無
***************************************************************************/
void RockKey_PowerOnInit(void)
{
    gKeyPioState = GPIO_GetPortDirection(PIO_KEY);
    //GPIO_PullUpDown(GPIOPortA_Pin7, GPIOPort_NoPull);
    //GPIO_SetPinDirection(GPIOPortA_Pin7, GPIO_IN);
    GPIO_SetPinDirection(GPIOPortC_Pin1, GPIO_IN);
    GPIO_SetPinDirection(GPIOPortC_Pin2, GPIO_IN);
    GPIO_SetPinDirection(GPIOPortC_Pin3, GPIO_IN);
    GPIO_SetPinDirection(GPIOPortC_Pin4, GPIO_IN);
    GPIO_SetPinDirection(GPIOPortC_Pin6, GPIO_IN);
    GPIO_SetPinLevel(GPIOPortC_Pin1,GPIO_LOW);
    GPIO_SetPinLevel(GPIOPortC_Pin2,GPIO_LOW);
    GPIO_SetPinLevel(GPIOPortC_Pin3,GPIO_LOW);
    GPIO_SetPinLevel(GPIOPortC_Pin4,GPIO_LOW);
    GPIO_SetPinLevel(GPIOPortC_Pin6,GPIO_LOW);
    
    #ifdef		ADC_KEY_EN
    //StartHWTimer(1/*timer1*/, 1/*mstick*/, ADC_KEY_TimerISR);
	#endif

}
UINT16  TestadcValue;
/**************************************************************************
* 函數描述: 導航鍵硬件檢測
* 入口參數: 無
* 出口參數: 無
* 返回值:   無
***************************************************************************/
void RockKeyScanning( void )
{
	UINT8	pioData;
	UINT16	keys;
    UINT16 tempADCValue;

    //GPIO_SetPortDirection(PIO_KEY, 0x0); // set key port to input

	pioData = GPIO_GetPortLevel(PIO_KEY);  
	for( keys = 0; keys < (UINT8)MAX_PIO_KEYS; keys++ )  
	 {
		if( (pioData & gKeyIOMasks[keys])==0 )          //為低,按鍵沒有按下 
		{
		   if(gKeyPortState & (0x0001<<keys))	        /* 原來是按下 狀態 */
			  {
				gKeyPortState &= ~(0x0001<<keys);
			//	RockStopTimer( TID_KEY_BASE-KEY_SCAN_MIN+keys );
				FieldRockKeySendMsg( 0 , KEY_SCAN_MIN+keys );
			  }
		}
		else	/*	按鍵按下 */
		{
		    if((gKeyPortState & (0x0001<<keys))==0 )	    /*	原來是 彈起 狀態 */
			  {
				gKeyPortState |= 0x0001<<keys;
				FieldRockKeySendMsg( 1 , KEY_SCAN_MIN+keys );
			  }
		}
	 }
#if 0
  //  GPIO_SetPinDirection(GPIOPortA_Pin7, GPIO_IN);
	pioData = GPIO_GetPinLevel(GPIOPortA_Pin7); 
     if( pioData == 1)    // 
        {
          if((gKeyPortState & (0x0001<<MAX_PIO_KEYS))==0 )  // 原來是彈起狀態
            {
				gKeyPortState |= 0x0001<<MAX_PIO_KEYS;
               FieldRockKeySendMsg(1, MAX_PIO_KEYS);
            }
        }
     else
        {
          if(gKeyPortState & (0x0001<<MAX_PIO_KEYS))  // 原來是按下狀態
            {
               gKeyPortState &= ~(0x0001<<MAX_PIO_KEYS);
               FieldRockKeySendMsg(0, MAX_PIO_KEYS);
            }
        }
#endif

#if 1   
	//ADC_Start(KEYBOARD_ADC, NULL);   // KEYBOARD_ADC
	//DelayMs_nops(5);
	//ADC_ReadData(&tempADCValue);
	//if( tempADCValue < 300 ) 
	
		tempADCValue = AdcValue[KEYBOARD_ADC];
		TestadcValue = tempADCValue;
	if( AdcValue[KEYBOARD_ADC] > 300 ) 
	{
          if((gKeyPortState & (0x0001<<(MAX_PIO_KEYS+1)))==0 )  // 原來是彈起狀態
            {
				gKeyPortState |= 0x0001<<(MAX_PIO_KEYS+1);
               FieldRockKeySendMsg(1, (MAX_PIO_KEYS+1));
            }
	}
     else
        {
          if(gKeyPortState & (0x0001<<(MAX_PIO_KEYS+1)))  // 原來是按下狀態
            {
               gKeyPortState &= ~(0x0001<<(MAX_PIO_KEYS+1));
               FieldRockKeySendMsg(0, (MAX_PIO_KEYS+1));
            }
        }

#endif

}

/**************************************************************************
* 函數描述: 發送按鍵消息
*           
* 入口參數: UINT16 press , UINT16 KeyNo
* 出口參數: 無
* 返回值:   無
***************************************************************************/
void  FieldRockKeySendMsg(UINT16 press , UINT16 KeyNo)
{
	if(gSysState&SYS_LCD_OFF)	//黑屏先喚醒
	{
		if(KeyNo == 7)			//HOLD鍵另外處理
		{
			RockKeySendKeyMsg(press, KeyNo);
			return;
		}
		if(press == 1)
			return;
		else
			RockKeySendKeyMsg(press, 8);	//發送無效消息
		return;
	}
	else
	{
        RockKeySendKeyMsg(press, KeyNo);
		return;
	}
}

static unsigned char AdcCurrChn = 0;
/**************************************************************************
* 函數描述: 讀取通道AB的值和AD鍵數值
*           
* 入口參數: 無
* 出口參數: 無
* 返回值:   無
***************************************************************************/
void  ADC_KEYSCAN_READ(void)
{
    unsigned short adctemp;
 
//********************AD鍵讀入判斷*******************************   

    if(ADC_ReadData(&adctemp))
        AdcValue[AdcCurrChn] = adctemp;
    AdcCurrChn++;
    if(AdcCurrChn>=Adc_channel_max)
        AdcCurrChn = Adc_channel0;
    ADC_Start(AdcCurrChn,NULL);	
}	

/**************************************************************************
* 函數描述: 導航鍵反初始化
* 入口參數: 無
* 出口參數: 無
* 返回值:   無
***************************************************************************/
void RockKey_PowerOffDeinit(void)
{
    GPIO_SetPortDirection(PIO_KEY,gKeyPioState); // restore key port 
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美偷拍另类a∨色屁股| 日韩国产欧美视频| 亚洲综合色成人| 全部av―极品视觉盛宴亚洲| 久久福利资源站| a级精品国产片在线观看| 色综合久久88色综合天天免费| 一本一道波多野结衣一区二区| 欧美日韩国产电影| 久久夜色精品国产欧美乱极品| 精品人在线二区三区| 中文字幕在线观看不卡视频| 五月天网站亚洲| 成人性色生活片免费看爆迷你毛片| 99久久99久久久精品齐齐| 91精品国产综合久久久久久久久久| 久久久午夜精品理论片中文字幕| 成人激情免费电影网址| 精品国产青草久久久久福利| 亚洲在线中文字幕| 成人ar影院免费观看视频| 91精品国产丝袜白色高跟鞋| 日韩理论在线观看| 风间由美性色一区二区三区| 欧美女孩性生活视频| 亚洲欧美另类小说| 国产成人精品综合在线观看| 日韩精品一区二区三区视频 | 日本精品免费观看高清观看| 国产欧美一区二区精品性色| 久久国内精品视频| 欧美丰满高潮xxxx喷水动漫| 一区二区在线免费| 色伊人久久综合中文字幕| 日本一区二区动态图| 国产乱人伦偷精品视频免下载 | 国产精品视频你懂的| 国内精品第一页| 久久色在线观看| 国产一区二区三区四区五区入口 | 在线综合视频播放| 免费在线欧美视频| 久久综合九色综合欧美98| 国内精品视频一区二区三区八戒| 日韩欧美国产电影| 国内精品国产成人| 国产精品麻豆久久久| 色哟哟日韩精品| 日韩高清电影一区| 国产欧美日韩在线| 色综合久久99| 蜜臀av性久久久久蜜臀aⅴ流畅 | 在线观看网站黄不卡| 一区二区三区自拍| 在线播放91灌醉迷j高跟美女 | 午夜精品成人在线视频| 欧美成人午夜电影| 成人av电影在线| 亚洲成人黄色影院| 久久亚洲春色中文字幕久久久| 丁香啪啪综合成人亚洲小说| 一区二区日韩av| 久久久久久黄色| 日本高清免费不卡视频| 久久99精品国产91久久来源| 国产精品久久久久久久久免费相片 | 欧美老肥妇做.爰bbww视频| 免费美女久久99| 1000部国产精品成人观看| 在线不卡中文字幕| 色一区在线观看| 国产乱码一区二区三区| 亚洲一区视频在线观看视频| 精品久久一区二区三区| 91黄色激情网站| 成人app在线| 精品一区在线看| 天堂在线亚洲视频| 亚洲精品免费在线观看| 国产欧美一区二区三区在线老狼| 欧美日韩亚洲国产综合| 成人h动漫精品| 丁香婷婷综合色啪| 国产福利一区在线| 毛片基地黄久久久久久天堂| 不卡视频一二三| 国产91精品久久久久久久网曝门| 免费成人美女在线观看.| 亚洲高清一区二区三区| 国产乱人伦偷精品视频免下载 | 高清视频一区二区| 日韩欧美国产三级电影视频| 色久优优欧美色久优优| 欧美电影一区二区| 久久久精品黄色| 日本一区二区在线不卡| 久久久蜜臀国产一区二区| 日韩手机在线导航| 日韩免费看网站| 日韩欧美高清一区| 日韩欧美国产1| 久久综合色一综合色88| 久久久精品免费观看| 国产日韩欧美亚洲| 国产精品初高中害羞小美女文| 国产女人aaa级久久久级| 中文字幕欧美日本乱码一线二线 | 成人免费电影视频| 色婷婷av一区二区三区软件| 91精品国产免费| 欧美激情在线一区二区| 亚洲色图视频免费播放| 日韩电影在线观看一区| 岛国一区二区在线观看| 91精品在线免费观看| 国产精品私人自拍| 免费一级片91| a在线欧美一区| 日韩精品最新网址| 亚洲中国最大av网站| 东方欧美亚洲色图在线| 欧美一卡二卡在线观看| 亚洲欧美aⅴ...| 国产精品色哟哟| 韩国精品免费视频| 这里只有精品视频在线观看| 亚洲综合激情网| 91黄色激情网站| 一区二区三区精品在线观看| 成人精品电影在线观看| 久久午夜国产精品| 全部av―极品视觉盛宴亚洲| 色8久久人人97超碰香蕉987| 久久精品一区二区三区四区| 午夜精品福利一区二区蜜股av| 99精品视频在线观看| 欧美激情一区二区在线| 国产一区二区三区国产| 精品国产一二三区| 麻豆91小视频| 日韩欧美国产综合一区| 亚洲v日本v欧美v久久精品| 在线观看国产精品网站| 亚洲欧洲日韩在线| 豆国产96在线|亚洲| 国产精品欧美精品| av电影天堂一区二区在线观看| 国产日本亚洲高清| 国产不卡视频一区二区三区| 久久蜜臀精品av| 成人久久18免费网站麻豆 | 91视频免费观看| 亚洲精品美腿丝袜| 欧美色涩在线第一页| 丝袜美腿亚洲一区二区图片| 91精品在线免费观看| 免费成人在线网站| 国产亚洲污的网站| 成人国产视频在线观看| 一区二区三区资源| 欧美一区二区大片| 成人午夜在线免费| 亚洲免费观看高清完整版在线观看| 色94色欧美sute亚洲线路一久 | 蜜臀久久久久久久| 欧美极品美女视频| 欧美伊人久久久久久久久影院| 肉肉av福利一精品导航| 久久久久九九视频| 欧美午夜精品久久久久久孕妇| 日本va欧美va精品| 中文字幕亚洲欧美在线不卡| 欧美日韩午夜影院| 国产99久久久国产精品| 亚洲成人免费视频| 国产精品久久久久婷婷| 欧美一级二级三级蜜桃| 99精品国产视频| 激情文学综合丁香| 亚洲1区2区3区4区| 国产精品久久久一区麻豆最新章节| 777久久久精品| 色天天综合久久久久综合片| 国产麻豆精品95视频| 亚洲福中文字幕伊人影院| 中文字幕一区免费在线观看| 欧美电影精品一区二区| 91精品国产综合久久国产大片| 一本大道久久精品懂色aⅴ| 国产suv一区二区三区88区| 美日韩一区二区三区| 五月激情丁香一区二区三区| 亚洲美女视频在线| 亚洲男人的天堂在线aⅴ视频| 国产亚洲人成网站| 久久精品人人做人人爽97| 精品久久久久久久久久久院品网| 在线成人小视频| 欧美另类高清zo欧美| 欧美一区二区三区视频免费播放|