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

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

?? key.c

?? 在開發FPGA上比較有用
?? C
字號:
/**************************************************************
程序說明      :PS2鍵盤實驗
類    型      :Nios II
說    明      :
              通過ps2 ipcore實現鍵盤驅動,接收鍵盤數據輸入
**************************************************************/
#include <stdio.h>
#include <io.h>
#include <system.h>
#include <alt_types.h>

// 讀取鍵盤狀態或數據超時次數
#define PS2_TIMEOVER  100000

// FreeDev PS2寄存器 OFFSET
#define PS2_STATUS 0x02
#define PS2_DATA  0x03

// FreeDev PS2狀態位
#define PS2_NOACK 0x0001
#define PS2_TX_WRITE_ACK 0x0002
#define PS2_RX_DATA_READY 0x04
#define PS2_SHIFT_KEY_ON 0x08
#define PS2_RX_RELEASED 0x10
#define PS2_RX_EXTENDED 0x20


void *gPS2Base;

/*********************************************
函數名:wait_rx_ready
功  能:等待鍵盤數據就緒
備  注:
      使用PS2全局地址gBaseAddr;循環n次等待數據就緒
**********************************************/
int wait_rx_ready(int count,alt_u16 *pStatus)
{
  int iRet;
  alt_u16 status,data;
  int i;
  
  if(count==0)
  {
    do{
      status=IORD(gPS2Base,PS2_STATUS);  
    }while(!(status & PS2_RX_DATA_READY)); 
    *pStatus=status; 
    return 0;
  }else
  {
    for(i=0;i<count;i++)
    {  
      status=IORD(gPS2Base,PS2_STATUS);
      if(status & PS2_RX_DATA_READY)
      {
        *pStatus=status;
        return 0;
      }
    }
    return -1;
   }
   return -1;
 } 

/*********************************************
函數名:read_scan_code
功  能:讀取掃描碼
輸  入:
返  回: 
備  注:
      使用PS2全局地址gBaseAddr
**********************************************/
int read_scan_code(alt_u8 *scan_code)
{
  int iRet,i;
  alt_u16 status,data;
    
  if(wait_rx_ready(0,&status)<0)
    return -1;
  data=IORD(gPS2Base,PS2_DATA);
  *scan_code = (data & 0xff00)>>8;
  
  return 0;
   
 } 
 
/*********************************************
函數名:read_ascii
功  能:讀取掃描碼
輸  入:
返  回: 
備  注:
      使用PS2全局地址gBaseAddr
**********************************************/
int read_ascii(alt_u8 *code)
{
  int iRet;
  alt_u16 status,data;
  
  // 讀鍵盤斷碼
  while(1)
  {  
    if(wait_rx_ready(0,&status)<0)
      return -1;
    if((status & PS2_RX_RELEASED))
      break;
    // 讀通碼
    data=IORD(gPS2Base,PS2_DATA);
  }
  
  // 讀斷碼數據
  data=IORD(gPS2Base,PS2_DATA);
  *code = data & 0x00ff;
 
  return 0;
 } 

/*********************************************
函數名:init_ps2
功  能:初始化鍵盤
輸  入:
返  回: 
備  注:
      保存PS2全局地址gBaseAddr
**********************************************/
int init_ps2(void *base_addr)
{
  int iRet;
  unsigned char i;
  alt_u16 status,data;
  alt_u8 key;
  
  gPS2Base=base_addr;
  
  IOWR(FREEDEV_PS2_INST_BASE,PS2_DATA,0xFF);
  
 // printf("reset keyboard......\n");
  while(1)
  {
    iRet=read_scan_code(&key);
    if(iRet<0)
    {
      printf("讀取鍵盤自測試字節錯誤");
      return -1;
    }
    
    if(key==0xfa)
      continue;
    else if(key!=0xaa)
      IOWR(gPS2Base,PS2_DATA,0xFF);
    else
      break;
  }
 // printf("reset keyboard OK!!\n");
  
  return 0;
}

int  keybord()
{
  int iRet;
  alt_u16 status,data;
  alt_u8 key;
  
  iRet=init_ps2(FREEDEV_PS2_INST_BASE);
  iRet=read_ascii(&key); 
 return key;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
...av二区三区久久精品| 亚洲自拍偷拍麻豆| 一区二区高清免费观看影视大全| 美女视频黄频大全不卡视频在线播放| 成人av在线观| 精品免费视频一区二区| 亚洲一二三四久久| 国产成人精品亚洲777人妖| 91精品在线观看入口| 亚洲欧美国产毛片在线| 国产成a人亚洲精| 欧美一级国产精品| 亚洲妇女屁股眼交7| 91免费精品国自产拍在线不卡| 久久影院午夜论| 蜜臀av一区二区| 在线播放中文一区| 亚洲国产成人av| 91久久久免费一区二区| 国产福利一区在线观看| 国产在线精品不卡| 日韩免费高清视频| 久久无码av三级| 亚洲第一av色| 欧美在线一二三四区| 欧美国产欧美综合| 国产·精品毛片| 国产丝袜欧美中文另类| 极品尤物av久久免费看| 日韩欧美一级二级三级| 奇米一区二区三区| 日韩丝袜美女视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美日韩精品一区二区三区四区| 一区二区三区毛片| 在线观看精品一区| 亚洲成人精品一区| 欧美日韩国产一级片| 午夜精品aaa| 欧美大片拔萝卜| 日韩毛片在线免费观看| 精品国产人成亚洲区| av激情综合网| 日韩欧美国产三级电影视频| 日本午夜一区二区| 日韩三级电影网址| 激情久久久久久久久久久久久久久久| 欧美一级免费大片| 久色婷婷小香蕉久久| 日韩欧美在线网站| 国产大陆精品国产| 日韩美女精品在线| 这里只有精品视频在线观看| 麻豆freexxxx性91精品| 久久精品男人天堂av| 91在线国内视频| 天天做天天摸天天爽国产一区 | 欧美videossexotv100| 老司机一区二区| 欧美高清一级片在线观看| 国产99久久久久久免费看农村| 欧美性猛交xxxx黑人交| 欧美性色欧美a在线播放| 亚洲男同1069视频| 欧美一区二区免费| 国产不卡视频在线播放| 最好看的中文字幕久久| 欧美精品一二三四| 国产成人精品亚洲777人妖| 一区二区三区免费| 久久先锋影音av| 在线免费不卡视频| 国产麻豆视频一区| 性感美女久久精品| 亚洲国产精品激情在线观看 | 欧美优质美女网站| 亚洲影视资源网| 国产成人在线免费| 亚洲国产综合91精品麻豆| 日韩视频一区在线观看| 国产成人av电影在线观看| 国产精品99久久久久久久vr| 色狠狠一区二区| 亚洲激情男女视频| 久久久久久久综合| 欧美日韩中文字幕精品| 成人在线综合网| 蜜臀久久久久久久| 亚洲一区二区三区四区的 | 91婷婷韩国欧美一区二区| 久久aⅴ国产欧美74aaa| 亚洲福利视频一区| 亚洲免费资源在线播放| 亚洲国产精品av| 精品美女被调教视频大全网站| 91九色最新地址| 91在线观看视频| 成人一区二区三区视频在线观看| 天堂久久久久va久久久久| 中文字幕一区二区在线观看| 国产亚洲一二三区| 日韩欧美中文一区| 日韩三级精品电影久久久| 欧美无砖专区一中文字| 一本一道久久a久久精品| 欧美乱妇23p| 亚洲成精国产精品女| 欧美放荡的少妇| 成人免费毛片app| 久久99精品网久久| 老司机精品视频在线| 毛片一区二区三区| 日韩影院精彩在线| 琪琪久久久久日韩精品| 五月婷婷欧美视频| 青草av.久久免费一区| 日韩成人精品在线观看| 男人操女人的视频在线观看欧美| 调教+趴+乳夹+国产+精品| 日韩精品福利网| 视频一区视频二区在线观看| 日本欧美一区二区三区| 捆绑调教美女网站视频一区| 久久精品99国产国产精| 精品一区在线看| 国产成人亚洲精品青草天美| 国产91综合网| 97国产一区二区| 欧美日韩一区成人| av毛片久久久久**hd| 国产一区二区三区在线观看免费| 国内精品不卡在线| 99综合电影在线视频| 色婷婷香蕉在线一区二区| 99精品视频在线观看| 欧美午夜精品一区| 91精品国产色综合久久不卡蜜臀| 日韩欧美一区在线| 久久九九全国免费| 亚洲图片激情小说| 五月激情六月综合| 国产综合成人久久大片91| 国产成人av一区二区三区在线 | 亚洲色图欧洲色图婷婷| 亚洲一区二区偷拍精品| 蜜乳av一区二区| 精品午夜久久福利影院| 成人av影视在线观看| 欧美性做爰猛烈叫床潮| 欧美大片国产精品| 中文字幕一区av| 日本不卡123| 波波电影院一区二区三区| 欧美日韩国产欧美日美国产精品| 亚洲精品日产精品乱码不卡| 久久色.com| 久久影视一区二区| 亚洲蜜臀av乱码久久精品| 美女一区二区视频| 色综合天天综合| 精品国产99国产精品| 一区二区三区电影在线播| 精品无码三级在线观看视频| 色综合久久中文综合久久牛| 911国产精品| 亚洲欧美在线观看| 精品无人码麻豆乱码1区2区| 在线观看日韩av先锋影音电影院| 久久亚洲一区二区三区明星换脸| 一区二区三区免费观看| 国产精品91xxx| 日韩色视频在线观看| 亚洲在线免费播放| 国产91露脸合集magnet| 日韩亚洲欧美一区二区三区| 一区二区三区日韩在线观看| 丰满少妇在线播放bd日韩电影| 717成人午夜免费福利电影| 日韩美女啊v在线免费观看| 国产精品1区二区.| 欧美一卡二卡三卡| 婷婷中文字幕一区三区| 91网址在线看| 中文字幕一区av| 从欧美一区二区三区| 久久久精品免费网站| 男人的j进女人的j一区| 欧美美女直播网站| 亚洲成国产人片在线观看| 91国偷自产一区二区三区成为亚洲经典 | 久久久精品天堂| 日韩高清一区二区| 欧美影院一区二区| 亚洲精品中文在线影院| 一本大道久久精品懂色aⅴ| 17c精品麻豆一区二区免费| 粉嫩欧美一区二区三区高清影视| 久久久国产精品不卡| 国产精品综合一区二区| 久久久亚洲午夜电影|