CH573使用TMOS執(zhí)行USB HOST循環(huán),需要設(shè)置多少周期不會(huì)卡頓

CH573使用TMOS執(zhí)行USB HOST循環(huán),需要設(shè)置多少周期不會(huì)卡頓

例程USB HOST調(diào)用周期是全速,使用TMOS時(shí)需要最慢多少周期,過快會(huì)不會(huì)影響無(wú)線功能


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

您好,根據(jù)BLE的連接間隔,建議應(yīng)用層的TMOS邏輯加起來(lái),不要超過連接間隔的50%。

跑USB主機(jī)時(shí),最后一個(gè)參數(shù)是配置20us為單位的重試超時(shí)時(shí)間,注意不要給太大,可能會(huì)影響B(tài)LE的運(yùn)行。


@TECH_JW

USB鍵鼠例程中SETorOFFNumLock函數(shù)是怎么使用的,只看到有數(shù)據(jù)操作,怎么判斷并點(diǎn)亮Cabs Lock、Num Lock的LED燈的


還有上面說(shuō)的配置20us單位超時(shí)重試,是指USB輪詢周期最快20us嗎,tmos_start_task函數(shù)最后一個(gè)參數(shù)是指下一次運(yùn)行該任務(wù)的時(shí)間吧,最低1ms對(duì)不對(duì),現(xiàn)在用了10的周期,偶爾會(huì)卡一下USB掉線

image.png


現(xiàn)在打印15,16,20錯(cuò)誤碼了,不知道是什么原因

USB dev in

Reset host port

GetDevDescr: InitRootDev Err = 20

EnumAllRootDev err = 20

USB dev in

Reset host port

Disable host port because of disconnect

EnumAllRootDev err = 16

USB dev in

Reset host port

GetDevDescr: InitRootDev Err = 20

EnumAllRootDev err = 20

USB dev out

USB dev in

Reset host port

GetDevDescr: InitRootDev Err = 15

EnumAllRootDev err = 15

USB dev out



查看錯(cuò)誤碼的時(shí)候發(fā)現(xiàn)了初始化的時(shí)候庫(kù)函數(shù)也有不少delay,這么看是不是不適合放到TMOS執(zhí)行,最低也有1mS的執(zhí)行時(shí)間,遠(yuǎn)超過TMOS最小周期了,是不是會(huì)影響B(tài)LE運(yùn)行

image.png


是的,上圖里占用時(shí)間太長(zhǎng)了,考慮在BLE已連接的情況下枚舉設(shè)備,要拆分枚舉流程和借助TMOS定時(shí)來(lái)實(shí)現(xiàn)了。

錯(cuò)誤代碼見下。

image.png

關(guān)于鍵盤指示燈的問題,USB主機(jī)會(huì)分析鍵盤上傳的鍵值,8字節(jié)報(bào)表中,如果是數(shù)組下標(biāo)是[2]的字節(jié)為0x39(大小寫切換鍵)或者0x53(數(shù)字小鍵盤使能鍵),其他字節(jié)為全0的報(bào)表,則表示鍵盤上按下了需要亮燈的鍵;USB主機(jī)需要走端點(diǎn)0下發(fā)set report命令,再走端點(diǎn)0下發(fā)一個(gè)字節(jié),按位表示鍵盤燈光是否點(diǎn)亮的OUT包。


這套USB解析流程太復(fù)雜了,拆分的時(shí)候可能還得添加很多定時(shí)變量和狀態(tài)標(biāo)記,還需要按需清除什么的,估計(jì)自己改不好,官方有考慮適配在TMOS下運(yùn)行嘛,有的話到時(shí)候通知我一下,太難了


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

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