CH372模擬鍵盤(pán)咨詢

正在用沁恒公司給的CH372模擬鍵盤(pán)程序。CH372已經(jīng)被識(shí)別成“人體學(xué)輸入設(shè)備”和鍵盤(pán)里另贈(zèng)一項(xiàng):“HID Keyboard Device”?,F(xiàn)有個(gè)問(wèn)題,UPDATA_FLAG這個(gè)變量是標(biāo)志什么的?以及當(dāng)UPDATA_FLAG=1時(shí),為什么要上傳下面一段程序: up_data( ) { unsigned char i; for(i=0;i!=5;i++) //發(fā)送5個(gè)字節(jié)的數(shù)據(jù)出去 buf[i]=0; buf[2]=0x62; CH375_WR_CMD_PORT(CMD_WR_USB_DATA5); //發(fā)出寫(xiě)上傳端點(diǎn)命令 CH375_WR_DAT_PORT(8); for(i=0;i!=5;i++) CH375_WR_DAT_PORT(buf[i]); } 這段程序做什么用的,工程師給看一下,謝謝!

這是向端點(diǎn)1上傳8個(gè)0,你是模擬鍵盤(pán)的,鍵盤(pán)傳數(shù)據(jù)的時(shí)候是先上傳鍵值,然后在收到上傳成功中斷狀態(tài)以后你要上傳8個(gè)0,告知計(jì)算機(jī)一個(gè)鍵值的數(shù)據(jù)已經(jīng)傳完,如果你不上傳8個(gè)0,那么計(jì)算機(jī)就認(rèn)為這個(gè)鍵一直是按下的,不知道這樣說(shuō)你清楚沒(méi)有!呵呵!


明白一些??墒荱PDATA_FLAG是在“類(lèi)請(qǐng)求”里面置1的。具體到: if((c1=request.r.bmReuestType)&0x20){ printf("b\n"); //類(lèi)請(qǐng)求,未處理 if(request.buffer[1]==0x0a) {printf("c\n");} //SET_IDLE else if(request.buffer[1]==0x09) { UPDATA_FLAG=1; } }


這是獲取描述符的最后一步,這個(gè)標(biāo)志置1以后,就意味著你現(xiàn)在可以上傳鍵值!


我等的就這是這句話,豁然開(kāi)朗! 能不能給我一個(gè)HID類(lèi)設(shè)備的接口協(xié)議,我想看一下,這個(gè)整個(gè)的過(guò)程是怎么樣的?


呵呵,這個(gè)建議你去找一本USB書(shū)看看,上面肯定有講HID設(shè)備的協(xié)議的


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频