CH582 TMOS中如何進(jìn)行持續(xù)的GPIO讀取

想用CH582做一個(gè)ADB鍵盤轉(zhuǎn)USB和藍(lán)牙的設(shè)備,現(xiàn)在的問題是ADB(Apple Desktop Bus)是非常奇葩的用占空比表達(dá)0和1的協(xié)議:https://www.lopaciuk.eu/2021/03/26/apple-adb-protocol.htmld

65 μs 低電平 + 35 μs 高電平表示 0, 35 μs 低電平 + 65 μs 高電平表示 1

這樣是不是就得寫個(gè)循環(huán)一直檢測(cè)GPIO的高低電平持續(xù)時(shí)間?但是TMOS里任務(wù)間隔都是625us,如何能夠持續(xù)的檢測(cè)GPIO呢?

你這里的目的應(yīng)該是模擬這個(gè)電平,可以通過定時(shí)器中斷里面拉波形,此時(shí)不要進(jìn)行睡眠。等到波形操作完成再進(jìn)行睡眠。


既然是讀取GPIO電平,為啥不用中斷嘞.或者直接在主循環(huán)中寫一個(gè)函數(shù)一直輪詢.感覺用TMOS任務(wù)時(shí)間精度達(dá)不到吧


3樓說的有理,我的設(shè)想是通過GPIO中斷來讀取電平,通過定時(shí)器中斷來寫入電平。就是不知道TMOS的任務(wù)會(huì)不會(huì)和這些中斷沖突,比如藍(lán)牙正在發(fā)送,來了一個(gè)GPIO中斷,會(huì)不會(huì)影響藍(lán)牙發(fā)送的執(zhí)行?


因?yàn)樾枰褂盟{(lán)牙功能,所以TMOS必須開啟。


可以查看函數(shù)的返回值是否為成功。

例如noti發(fā)送數(shù)據(jù),判斷simpleProfile_Notify函數(shù)的返回值為0,則代表數(shù)據(jù)已經(jīng)發(fā)送到底層,在藍(lán)牙建立連接的情況下,數(shù)據(jù)一定會(huì)發(fā)送成功。如果此處的返回值不為0,則代表發(fā)送失敗,可以應(yīng)用層重復(fù)調(diào)用發(fā)送函數(shù)。

image.png


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

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