請(qǐng)問(wèn)有沒(méi)有使用582M做復(fù)合BLE HID設(shè)備的例子,比如鍵盤(pán)中帶有觸摸板控制鼠標(biāo)移動(dòng)。

目前使用的方法是按照USB HID,也就是修改了hidReportMap,在里面新增了report id。不過(guò)沒(méi)有用,只能按照BLE keyborad用。

該問(wèn)題已經(jīng)解決,現(xiàn)在有一個(gè)新的問(wèn)題,藍(lán)牙會(huì)不定期的斷連。

Disconnected.. Reason:8

對(duì)于這個(gè)reason是否有文檔可以說(shuō)明具體原因。


8是超時(shí)斷開(kāi),這個(gè)是主從機(jī)連續(xù)幾個(gè)包交互失敗導(dǎo)致的,大概率是程序阻塞,導(dǎo)致藍(lán)牙任務(wù)無(wú)法按時(shí)執(zhí)行?;蛘哂捎诟蓴_或者硬件本身導(dǎo)致通訊失敗。錯(cuò)誤代碼在ble標(biāo)準(zhǔn)協(xié)議文檔里面有的,網(wǎng)上可以找到。


目前根據(jù)現(xiàn)象來(lái)看,應(yīng)該和程序阻塞有關(guān)。我的代碼邏輯如下:

if (events & USB_LOOP_EVENT){


? ? ? ? usbhandle();

? ? ? ? tmos_start_task(USBTaskID, USB_LOOP_EVENT, 15);


? ? ? ? return (events ^ USB_LOOP_EVENT);

}

usbhandle()函數(shù)中會(huì)去讀取USB收到的數(shù)據(jù),數(shù)據(jù)直接通過(guò)調(diào)用HidDev_Report函數(shù)通過(guò)藍(lán)牙傳輸出去。我現(xiàn)在有幾個(gè)問(wèn)題需要請(qǐng)教一下:

1,在這個(gè)15ms中之內(nèi)如果有大量的USB數(shù)據(jù),是否會(huì)導(dǎo)致USB的buffer裝滿,使得程序阻塞。

2,USB中實(shí)際上收到的是鼠標(biāo)HID數(shù)據(jù),也就是一次會(huì)有4byte的數(shù)據(jù)。假設(shè)在15ms之內(nèi)有多次鼠標(biāo)數(shù)據(jù),那么這個(gè)數(shù)據(jù)是一次性從USB buffer中讀出來(lái),還是每次只讀4byte,分多次讀?。?/p>

3,如果15ms內(nèi)有多次鼠標(biāo)操作,那么是不是會(huì)多次調(diào)用藍(lán)牙發(fā)送函數(shù)造成程序阻塞。

4,又或者直接把藍(lán)牙的buffer用滿了,造成程序阻塞。


問(wèn)題比較多,希望得到解答,謝謝。



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

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