CH554 模擬HID兼容設(shè)備 例程中報(bào)表描述符問(wèn)題

/*HID類(lèi)報(bào)表描述符*/

UINT8C HIDRepDesc[ ] =

{

? ? 0x06, 0x00,0xff,

? ? 0x09, 0x01,

? ? 0xa1, 0x01, ? ? ? ? ? ? ? //集合開(kāi)始

? ? 0x09, 0x02, ? ? ? ? ? ? ? //Usage Page ?用法

? ? 0x15, 0x00, ? ? ? ? ? ? ? //Logical ?Minimun

? ? 0x26, 0x00,0xff, ? ? ? ? ? //Logical ?Maximun

? ? 0x75, 0x08, ? ? ? ? ? ? ? //Report Size

? ? 0x95, THIS_ENDP0_SIZE, ? ? ? //Report Counet

? ? 0x81, 0x06, ? ? ? ? ? ? ? //Input

? ? 0x09, 0x02, ? ? ? ? ? ? ? //Usage Page ?用法

? ? 0x15, 0x00, ? ? ? ? ? ? ?//Logical ?Minimun

? ? 0x26, 0x00,0xff, ? ? ? ? ? //Logical ?Maximun

? ? 0x75, 0x08, ? ? ? ? ? ? ?//Report Size

? ? 0x95, THIS_ENDP0_SIZE, ? ? ? //Report Counet

? ? 0x91, 0x06, ? ? ? ? ? ? ?//Output

? ? 0xC0

};

紅色處應(yīng)該是0x26, 0xFF, 0x00才對(duì)吧


熱門(mén)產(chǎn)品 : USB3.0 HUB控制器:CH634

? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ?

/*HID類(lèi)報(bào)表描述符*/

UINT8C HIDRepDesc[ ] =

{

? ? 0x06, 0x00,0xff,

? ? 0x09, 0x01,

? ? 0xa1, 0x01, ? ? ? ? ? ? ? //集合開(kāi)始

? ? 0x09, 0x02, ? ? ? ? ? ? ? //Usage Page ?用法

? ? 0x15, 0x00, ? ? ? ? ? ? ? //Logical ?Minimun

? ??0x26, 0x00,0xff, ? ? ? ? ? //Logical ?Maximun

? ? 0x75, 0x08, ? ? ? ? ? ? ? //Report Size

? ? 0x95, THIS_ENDP0_SIZE, ? ? ? //Report Counet

? ? 0x81, 0x06, ? ? ? ? ? ? ? //Input

? ? 0x09, 0x02, ? ? ? ? ? ? ? //Usage Page ?用法

? ? 0x15, 0x00, ? ? ? ? ? ? ?//Logical ?Minimun

? ??0x26, 0x00,0xff, ? ? ? ? ? //Logical ?Maximun

? ? 0x75, 0x08, ? ? ? ? ? ? ?//Report Size

? ? 0x95, THIS_ENDP0_SIZE, ? ? ? //Report Counet

? ? 0x91, 0x06, ? ? ? ? ? ? ?//Output

? ? 0xC0

};

紅色處應(yīng)該是0x26, 0xFF, 0x00才對(duì)吧

? ? ? ? ? ?



嚴(yán)謹(jǐn)一點(diǎn)的話還是0XFF00對(duì)的,但是實(shí)際測(cè)下來(lái)是不影響的,你說(shuō)的邏輯值范圍0x00-0xFF,例程給的是是0x00~0xff00。HID兼容設(shè)備,一個(gè)reportsize的大小超過(guò)0X00FF即可,反正數(shù)據(jù)都小于0X00FF,怎么會(huì)不小于0XFF00呢?而且,這是HID兼容設(shè)備,假設(shè)你邏輯上限是0x08,windows系統(tǒng)也不會(huì)判斷你設(shè)備有問(wèn)題,數(shù)據(jù)一樣可以上報(bào)。



這個(gè)是限定邏輯最大值用的,你寫(xiě)0x26,0xFF,0x00,因?yàn)?位MCU,實(shí)際值不會(huì)超過(guò)0xFF,所以沒(méi)問(wèn)題,如果換成16位或者32位MCU,按照你的該法,就只能傳不超過(guò)0xFF的值了。

例子程序的寫(xiě)法對(duì)8位,16位,32位應(yīng)用上問(wèn)題不大,你的寫(xiě)法就比較局限了,以上。


Report Size 是8 ,嚴(yán)謹(jǐn)就是0x00FF是對(duì)的。而且你要邏輯范圍0xFF00,不是寫(xiě)0x26, 0x00,0xff,,該寫(xiě)成0x27, 0x00, 0xFF,0x00,0x00。


UIF_SUSPEND = 0;

UIF_TRANSFER = 0;

UIF_BUS_RST = 0; ? ?//清中斷標(biāo)志


例程里還有這樣清中斷對(duì)嗎?不是寫(xiě)1清中斷嗎?



direct bit address clear or write 1 to clear ?你可以看仔細(xì)一點(diǎn)。


?sbit UIF_FIFO_OV ? = USB_INT_FG^4; // FIFO overflow interrupt flag for USB, direct bit address clear or write 1 to clear

?sbit UIF_HST_SOF ? = USB_INT_FG^3; // host SOF timer interrupt flag for USB host, direct bit address clear or write 1 to clear

?sbit UIF_SUSPEND ? = USB_INT_FG^2; // USB suspend or resume event interrupt flag, direct bit address clear or write 1 to clear

?sbit UIF_TRANSFER ?= USB_INT_FG^1; // USB transfer completion interrupt flag, direct bit address clear or write 1 to clear

?sbit UIF_DETECT ? ?= USB_INT_FG^0; // device detected event interrupt flag for USB host mode, direct bit address clear or write 1 to clear

?sbit UIF_BUS_RST ? = USB_INT_FG^0; // bus reset event interrupt flag for USB device mode, direct bit address clear or write 1 to clear



? ? ? ? ? ? ? ? ? ? ? ? ? ?

Report Size 是8 ,嚴(yán)謹(jǐn)就是0x00FF是對(duì)的。而且你要邏輯范圍0xFF00,不是寫(xiě)0x26, 0x00,0xff,,該寫(xiě)成0x27, 0x00, 0xFF,0x00,0x00。

? ? ? ? ? ? ? ? ? ? ? ?

blob.png


? ? ? ? ? ? ? ? ? ? ? ? ? ?


引用:

? ? ? ? ? ? ? ? ? ? ? ? ? ?

Report Size 是8 ,嚴(yán)謹(jǐn)就是0x00FF是對(duì)的。而且你要邏輯范圍0xFF00,不是寫(xiě)0x26, 0x00,0xff,,該寫(xiě)成0x27, 0x00, 0xFF,0x00,0x00。


? ? ? ? ? ? ? ? ? ? ? ?


blob.png

? ? ? ? ? ? ? ? ? ? ? ?


DT工具可以驗(yàn)證。


無(wú)標(biāo)題.jpg


昨天立創(chuàng)商城上買(mǎi)的CH552,到了,剛焊接測(cè)試位寫(xiě)0可以清寫(xiě)1清不了中斷


測(cè)試直接位訪問(wèn)也清不了0,很奇怪哦


你安照例子的寫(xiě)法操作就行了,直接地址清0,這個(gè)肯定沒(méi)錯(cuò)。


頭文件的說(shuō)法是匯編的用法,不是所有的直接訪問(wèn)都能清空。


031D 30DA2C ? ? ? ? ? ?JNB ? ? UIF_SUSPEND,?C0089

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?; SOURCE LINE # 358

0320 D2DA ? ? ? ? ? ? ?CLR ? ? UIF_SUSPEND


這就是編譯后的一段匯編代碼



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

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