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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ps2.c

?? PS2和USB兼容的鼠標(biāo)源代碼
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/* created  : hw-chen                                                           */
/* descript : 重新發(fā)送數(shù)據(jù)包,由于數(shù)據(jù)一直在發(fā)送緩沖區(qū),只需要重新復(fù)制長(zhǎng)度就可以  */
/********************************************************************************/
void ps2_resend(void)
{   ps2_xmit.ps2_xmit = ps2_xmit.ps2_length;
}

/********************************************************************************/
/* function : ps2_set_default_state()                                                 */
/* created  : hw-chen                                                           */
/* descript : 設(shè)置鼠標(biāo)的缺省狀態(tài)                                                */
/********************************************************************************/
void ps2_set_default_state(void)
{   ps2_parameter.report_rate = 100;        //* 100 reports per second
    ps2_parameter.report_interval = 10;     //* is equal to a report every 10 msec
    ps2_parameter.scale = SC_1_1;           //* 1-to-1 scaling
    ps2_parameter.stream = 0x1;             //* stream mode on
    ps2_parameter.resolution = RES_1MM;     //* 1 MM resolution
    ps2_parameter.enable = 0x0;             //* not enabled
    ps2_parameter.zmouse = 0x0;             //* z-wheel off.
    ps2_parameter.wrap   = 0x0;
}


/********************************************************************************/
/* function : ps2_disable()                                                     */
/* created  : hw-chen                                                           */
/* descript : 禁止鼠標(biāo)                                                          */
/********************************************************************************/
void ps2_disable(void)
{   ps2_parameter.enable = 0x0;
}

/********************************************************************************/
/* function : ps2_enable()                                                      */
/* created  : hw-chen                                                           */
/* descript : 允許鼠標(biāo)操作                                                      */
/********************************************************************************/
void ps2_enable(void)
{   ps2_parameter.enable=0x1;
    return;
}
/********************************************************************************/
/* function : ps2_set_sample_rate_ack()                                         */
/* created  : hw-chen                                                           */
/* descript : ACK設(shè)置鼠標(biāo)采樣,由于第二字節(jié)是采樣率,這里是接收到第一字節(jié),所以這  */
/*            里不處理                                                          */
/********************************************************************************/
void ps2_set_sample_rate_ack(void)
{
}


/********************************************************************************/
/* function : ps2_set_sample_rate()                                             */
/* created  : hw-chen                                                           */
/* descript : 設(shè)置鼠標(biāo)的采樣率                                                  */
/********************************************************************************/
char ps2_set_sample_rate(char rate)
{   char i;
    for(i=0x0;i<PS2_NUM_RATES;i++)
    {   if((rate==ps2_sample_rate[i]))
        {   ps2_parameter.report_interval=ps2_sample_intervals[i];
            ps2_parameter.report_rate=rate;
            ps2_rst_interval();
            return(PS2_ACK);
        }
    }
    return(PS2_RESEND);
}

/********************************************************************************/
/* function : ps2_read_device_type()                                            */
/* created  : hw-chen                                                           */
/* descript : 讀取設(shè)備的類(lèi)型,由于本設(shè)計(jì)采用了5鍵鼠標(biāo),需要回答0x4,如果是3鍵    */
/*      鼠標(biāo)需要回應(yīng)0x3,否則應(yīng)答0x0                                             */
/********************************************************************************/
void ps2_read_device_type(void) /* 0xF2 */
{   ps2_xmit.ps2_buffer[0x0]=0x0;
    ps2_xmit.ps2_length = 0x1;
    ps2_xmit.ps2_xmit   = 0x1;
}

/********************************************************************************/
/* function : ps2_set_remote_mode()                                             */
/* created  : hw-chen                                                           */
/* descript : 設(shè)置成為REM模式                                                   */
/********************************************************************************/
void ps2_set_remote_mode(void)
{   ps2_parameter.stream = 0x0;
}


/********************************************************************************/
/* function : ps2_rst_wrap_mode()                                               */
/* created  : hw-chen                                                           */
//* descript : 根據(jù)IBM建議,如果STREAM模式是允許的,如果WRAP模式RST,鼠標(biāo)被禁止    */                                                          */
/********************************************************************************/
void ps2_rst_wrap_mode(void)
{   ps2_parameter.wrap=0x0;
    if((ps2_parameter.stream))
    {   ps2_parameter.enable=0x0;
    }
}

/********************************************************************************/
/* function : ps2_set_wrap_mode()                                               */
/* created  : hw-chen                                                           */
/* descript : 允許WRAP模式                                                      */
/********************************************************************************/
void ps2_set_wrap_mode(void)
{   ps2_parameter.wrap = 1;
}


/********************************************************************************/
/* function : ps2_set_stream_mode()                                             */
/* created  : hw-chen                                                           */
/* descript : 設(shè)置流模式                                                        */
/********************************************************************************/
void ps2_set_stream_mode(void)
{   ps2_parameter.stream = 1;
    ps2_rst_interval();
}

/********************************************************************************/
/* function : ps2_read_data()                                                   */
/* created  : hw-chen                                                           */
/* descript : 返回鼠標(biāo)數(shù)據(jù)包給主機(jī),回應(yīng)主機(jī)的讀數(shù)據(jù)命令                         */
/********************************************************************************/
void ps2_read_data(void)
{   mouse_status.change_flag = 1;
    ps2_rst_interval();
    mouse_status.change_flag|=mouse_poll_adns();    //* 讀取光學(xué)器件,查看鼠標(biāo)是否有移動(dòng)
    ps2_packet_mouse_mdata();
}

/********************************************************************************/
/* function : ps2_status_request()                                              */
/* created  : hw-chen                                                           */
/* descript : 發(fā)送狀態(tài)響應(yīng)給主機(jī)                                                */
/********************************************************************************/
void ps2_status_request(void)
{   ps2_xmit.ps2_buffer[0] = 0x20;
    ps2_xmit.ps2_buffer[1] = 0x3;
    ps2_xmit.ps2_buffer[2] = 100;
    ps2_xmit.ps2_length = 0x3;
    ps2_xmit.ps2_xmit   = 0x3;
    return;
}


/********************************************************************************/
/* function : ps2_set_resolution_ack()                                          */
/* created  : hw-chen                                                           */
/* descript : 設(shè)置RESOLUTION的ACK,他是兩個(gè)字節(jié),第二字節(jié)是RESOLUTION,這個(gè)函數(shù)    */
/*            是第一字節(jié)調(diào)用的,所以不處理                                       */
/********************************************************************************/
void ps2_set_resolution_ack(void)
{   return;
}
/********************************************************************************/
/* function : ps2_set_resolution()                                              */
/* created  : hw-chen                                                           */
/* descript : 設(shè)置鼠標(biāo)的分辨率                                                  */
/********************************************************************************/
char ps2_set_resolution(char bRes)
{   switch (bRes)
    {
    case RES_1MM:               //* only 4 valid resolutions accepted
    case RES_2MM:
    case RES_4MM:
    case RES_8MM:
        ps2_parameter.resolution = bRes;
        return(PS2_ACK);
    default:
    	break;
    }
    return(PS2_RESEND);         //* 
}


/********************************************************************************/
/* function : ps2_set_scaling()                                                 */
/* created  : hw-chen                                                           */
/* descript : 設(shè)置SCALING                                                       */
/********************************************************************************/
void ps2_set_scaling(void)
{   ps2_parameter.scale = SC_2_1;
}

/********************************************************************************/
/* function : ps2_rst_scaling()                                                 */
/* created  : hw-chen                                                           */
/* descript : 復(fù)位SCALING                                                       */
/********************************************************************************/
void ps2_rst_scaling(void)
{   ps2_parameter.scale = SC_1_1;
}

unsigned char  ps2_interval_count; //interval count, in msec, for reporting mouse packets
void ps2_rst_interval(void)
{   ps2_interval_count = ps2_parameter.report_interval;
}

/********************************************************************************/
/* function : ps2_mouse_tasking()                                               */
/* created  : hw-chen                                                           */
/* descript : 鼠標(biāo)在上電后或應(yīng)答RESET(0xFF)命令就進(jìn)入RESET模式,進(jìn)入這個(gè)模式后   */
/*      鼠標(biāo)執(zhí)行象前面提到的BAT基本保證測(cè)試一樣的自檢并設(shè)置如下的缺省值         */
/*      1.采樣速率100 采樣點(diǎn)/秒                                                 */
/*      2.分辨率4 個(gè)計(jì)數(shù)值/毫米                                                 */
/*      3.縮放比例1:1                                                           */
/*      4.數(shù)據(jù)報(bào)告被禁止                                                        */
/*      然后發(fā)送BAT完成代碼,這個(gè)代碼不是0xAA就是0xFC 錯(cuò)誤(BAT成功),如果         */
/*      主機(jī)收到了不是0xAA的回應(yīng),它可能重新給鼠標(biāo)供電這樣來(lái)引起鼠標(biāo)復(fù)位         */
/*      并重新執(zhí)行BAT                                                           */
/********************************************************************************/
void ps2_pro_bat(void)
{   dev_wait_x_msecond(250);        //* 延時(shí)500毫秒
    dev_wait_x_msecond(250);
    ps2_xmit.ps2_buffer[0]=0xAA;    //* send AA 00 to host
    ps2_xmit.ps2_buffer[1]=0x00;    //* fe
    ps2_xmit.ps2_length   =0x2;
    ps2_xmit.ps2_xmit     =0x2;
}

/********************************************************************************/
/* function : ps2_send_next_byte()                                              */
/* created  : hw-chen                                                           */
/* descript : 鼠標(biāo)發(fā)送下一字節(jié)數(shù)據(jù)                                              */
/********************************************************************************/
void ps2_send_next_byte(void)
{   if((ps2_send_hostbyte(ps2_xmit.ps2_buffer[ps2_xmit.ps2_length-ps2_xmit.ps2_xmit]))) //send the byte
    {   ps2_xmit.ps2_xmit--;
    }
    return;
}

/********************************************************************************/
/* function : ps2_mouse_tasking()                                               */
/* created  : hw-chen                                                           */
/* descript : 處理PS2鼠標(biāo)的任務(wù)                                                 */
/********************************************************************************/
void ps2_mouse_tasking(void)
{   if((msecond_status.ms_counter&0x3)==0x0)    //* 4MS定時(shí)器
    {   mouse_status.change_flag|=mouse_poll_buttons(); //* 查看是否有按鍵動(dòng)作
    }
    if((ps2_interval_count!=0x0))   //* PS2的報(bào)告時(shí)間沒(méi)有到
    {   return;
    }
    if((ps2_parameter.enable!=0x1))
    {   return;
    }
    if((ps2_parameter.stream!=0x1))
    {   return;
    }
    ps2_rst_interval();             //* reset the interval
    mouse_status.change_flag|=mouse_poll_adns();    //* 讀取光學(xué)器件,查看鼠標(biāo)是否有移動(dòng)
    if((mouse_status.change_flag)==0x0)
    {   return;
    }
    ps2_packet_mouse_mdata();       //* 發(fā)送數(shù)據(jù)給主機(jī)
}
/********************************************************************************/
/* function : ps2_start()                                                       */
/* created  : hw-chen                                                           */
/* descript : 處理PS2鼠標(biāo)的任務(wù)                                                 */
/********************************************************************************/
void ps2_start(void)
{   P10CR    = 0x03;    //* PS2_PULLUP_ENABLE,OUTPUT_ENABLE;
    P11CR    = 0x05;    //* OPEN_DRAIN,OUTPUT_ENABLE
    USBCR    = 0x00;    //* 禁止USB
    USBXCR   = 0x00;    //* 禁止USB上拉
    P1DATA  |= (PS2_SCLK_BIT|PS2_DATA_BIT);
}

/********************************************************************************/
/* function : ps2_main_process()                                                */
/* created  : hw-chen                                                           */
/* descript : 處理PS2的主函數(shù)                                                   */
/********************************************************************************/
void ps2_main_process(void)
{   ps2_start();                //* 初始化PS2的IO引腳
    ps2_set_default_state();    //* 初始化成為缺省的狀態(tài)
    ps2_pro_bat();              //* send the BAT code
    while(1){
    /****************************************************************************/
    /* 如果正確接收到數(shù)據(jù) */
    /****************************************************************************/
    if((ps2_recv_hostbyte())){
    ps2_pro_host_command(ps2_host_byte);
    continue;
    }
    
    /****************************************************************************/
    /* 如果有數(shù)據(jù)需要發(fā)送 */
    /****************************************************************************/
    if((ps2_xmit.ps2_xmit)){
    ps2_send_next_byte();
    continue;
    }
    
    /****************************************************************************/
    /* 如果1MS定時(shí)器到 */
    /****************************************************************************/
    if((msecond_status.ms_flag&ONE_MSEC_FLAG)==ONE_MSEC_FLAG){
    msecond_status.ms_flag&=~ONE_MSEC_FLAG;
    ps2_mouse_tasking();
    continue;
    }
    
    }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜亚洲精品午夜鲁丝片| 国产精品资源网| 一区二区三区不卡视频在线观看 | 婷婷久久综合九色综合绿巨人 | 欧美一区二区三级| 欧美中文字幕一区| 中文字幕av一区二区三区| 久久久99精品免费观看不卡| 欧美一区二区观看视频| 欧美一区二区女人| 久久久一区二区三区| 91精品国产91久久综合桃花| 99久久久免费精品国产一区二区| 国产成人欧美日韩在线电影| 成人激情校园春色| a级高清视频欧美日韩| 国产精品一区二区不卡| 国产在线观看一区二区| 国产一区激情在线| 91免费观看视频在线| 国产视频一区二区在线观看| 午夜精品久久久久久久99樱桃 | 在线观看亚洲精品| 精品国产免费人成电影在线观看四季| 国产女人18毛片水真多成人如厕 | 高清成人免费视频| 激情综合五月婷婷| 五月激情六月综合| 捆绑调教美女网站视频一区| 久久99精品久久久久| 国产乱码精品一品二品| 欧美视频一区二区三区四区| 久久久99免费| 青青草成人在线观看| 欧美怡红院视频| 日本一区二区成人| 国产精品亚洲专一区二区三区| 欧美日韩国产电影| 亚洲电影在线播放| 欧美亚洲动漫精品| 亚洲国产美国国产综合一区二区| 国产成人小视频| 久久女同互慰一区二区三区| 国产精华液一区二区三区| 久久免费午夜影院| 国产精品三级在线观看| 中文字幕综合网| 一区二区三区在线不卡| 日本三级亚洲精品| 国产一区二区三区综合| 欧美精品一级二级三级| 亚洲精品中文在线| 欧美四级电影网| 久久66热偷产精品| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲综合色在线| 九色综合狠狠综合久久| 国产一区二区三区| 日韩欧美国产wwwww| 久久电影网站中文字幕| 欧美tk—视频vk| 高清国产一区二区| 尤物视频一区二区| 欧美电影影音先锋| 狠狠色狠狠色合久久伊人| 国产精品视频麻豆| 欧美影院一区二区三区| 日日欢夜夜爽一区| 国产色产综合色产在线视频| 成人开心网精品视频| 亚洲.国产.中文慕字在线| 欧美成人猛片aaaaaaa| jlzzjlzz国产精品久久| 香蕉成人伊视频在线观看| 久久久久久久国产精品影院| 色婷婷久久一区二区三区麻豆| 日韩国产高清在线| 国产精品久久久久影院老司 | 色综合色综合色综合| 亚洲日本在线a| 久久亚洲欧美国产精品乐播| 欧美撒尿777hd撒尿| 国产精品一二三区在线| 亚洲午夜视频在线| 国产日本亚洲高清| 日韩欧美一二区| 欧美色图12p| 国产欧美一区视频| 99久久夜色精品国产网站| 麻豆精品在线播放| 日韩av在线播放中文字幕| 中文字幕在线视频一区| 欧美变态tickling挠脚心| 在线精品视频免费播放| 91片黄在线观看| av亚洲产国偷v产偷v自拍| 国产精品一二三区| 懂色av一区二区夜夜嗨| 国产福利视频一区二区三区| 日韩avvvv在线播放| 午夜在线电影亚洲一区| 亚洲免费视频中文字幕| 成人欧美一区二区三区小说| 国产精品第五页| 亚洲激情男女视频| 亚洲sss视频在线视频| 婷婷久久综合九色国产成人| 日韩av在线播放中文字幕| 免费成人结看片| 国产精品主播直播| 91久久精品午夜一区二区| 在线中文字幕一区二区| 欧美日韩国产天堂| 精品成人一区二区| 国产精品久久久爽爽爽麻豆色哟哟| 综合婷婷亚洲小说| 午夜天堂影视香蕉久久| 美洲天堂一区二卡三卡四卡视频| 国模一区二区三区白浆| 国产91丝袜在线播放| 成人高清视频免费观看| 欧美色男人天堂| 精品88久久久久88久久久| 日韩一级精品视频在线观看| 久久久777精品电影网影网| 国产精品看片你懂得| 艳妇臀荡乳欲伦亚洲一区| 麻豆91精品91久久久的内涵| 懂色中文一区二区在线播放| 日本丰满少妇一区二区三区| 91精品国产综合久久蜜臀| 中文字幕av资源一区| 婷婷中文字幕综合| 91亚洲精品久久久蜜桃| 日韩欧美自拍偷拍| 亚洲自拍偷拍九九九| 福利电影一区二区| 欧美日韩极品在线观看一区| 国产日韩欧美一区二区三区综合| 亚洲精品国产一区二区精华液| 精品一区二区av| 欧美色精品天天在线观看视频| 国产精品美女视频| 国产一区二区在线影院| 678五月天丁香亚洲综合网| 国产精品久久二区二区| 国产精品一区二区男女羞羞无遮挡 | 4438x亚洲最大成人网| 亚洲欧美色图小说| 成人激情视频网站| 国产欧美日韩视频在线观看| 三级精品在线观看| 91精品国产综合久久国产大片| 一区二区三区免费在线观看| 99久久精品国产一区| 国产精品网站在线播放| 国产成人aaaa| 中文天堂在线一区| av一区二区三区| 国产精品久久久久7777按摩| 懂色av一区二区在线播放| 中文字幕不卡在线| 91美女片黄在线观看91美女| 亚洲欧洲另类国产综合| 色综合久久久久网| 亚洲国产精品久久一线不卡| 欧美性猛交xxxxxxxx| 亚洲一区二区三区四区在线免费观看| 91搞黄在线观看| 日韩精品成人一区二区在线| 欧美肥胖老妇做爰| 国产成人自拍在线| 亚洲少妇中出一区| 欧美一卡2卡3卡4卡| 国产激情一区二区三区| 依依成人综合视频| 91.麻豆视频| 成人app网站| 蜜臀a∨国产成人精品| 国产午夜一区二区三区| 在线视频观看一区| 国产麻豆一精品一av一免费| 国产精品成人在线观看| 欧美一区永久视频免费观看| 国产一区二区中文字幕| 亚洲电影一区二区三区| 2023国产精华国产精品| 在线亚洲+欧美+日本专区| 美女网站在线免费欧美精品| 一区在线播放视频| 久久综合色婷婷| 欧美日韩国产中文| 91亚洲永久精品| 国产精品538一区二区在线| 亚洲一区二区欧美日韩| 欧美国产丝袜视频| 精品成a人在线观看| 欧美欧美欧美欧美首页| 91麻豆精品一区二区三区| 国产成人午夜高潮毛片|