關(guān)于Central例程開發(fā)問題

現(xiàn)在我有一個(gè)款產(chǎn)品開發(fā)用到了CH573。藍(lán)牙產(chǎn)品和藍(lán)牙遙控器,遙控器發(fā)送簡單的指令,產(chǎn)品收到后,執(zhí)行對(duì)應(yīng)的操作。

打算直接使用主機(jī)和從機(jī)的通信控制,所以使用例程中Central和Peripheral的工程進(jìn)行開發(fā),遙控器上運(yùn)行的是Central的工程,主要功能為,檢測(cè)按鍵,對(duì)應(yīng)按鍵按下后通過藍(lán)牙發(fā)送數(shù)據(jù)到從機(jī),開發(fā)過程中遇到了一些問題:

(1)遙控器作為主機(jī),這種方式可行嗎?

(2)因?yàn)檫b控器是電池供電,所以功率控制很重要,將HAL_SLEEP設(shè)置為TRUE來降低功耗,請(qǐng)問這里的睡眠模式是協(xié)議自動(dòng)運(yùn)行嗎?RTC喚醒的時(shí)間也是固定的嗎?主機(jī)和從機(jī)的例程直接將HAL_SLEEP設(shè)置為TRUE就可以都降低功耗嗎?

(3)藍(lán)牙通信前需要保證藍(lán)牙連接,我使用長按按鍵的方式,在長按檢測(cè)中調(diào)用tmos_set_event(centralTaskId, START_DEVICE_EVT);開始藍(lán)牙服務(wù),這種方式可行嗎?有沒有更好的方式運(yùn)行藍(lán)牙主機(jī)和從機(jī)連接的過程。應(yīng)該調(diào)用哪些函數(shù)。

(4)例程中數(shù)據(jù)的通信,是比較寬泛的,有很多個(gè)元素,請(qǐng)問有沒有更直接的,清晰明了的通信例程。

以上問題有對(duì)應(yīng)的類似的Demo可以發(fā)送到我的郵箱,我作為參考開發(fā)。

個(gè)人信息保護(hù),已隱藏

非常感謝。

考慮功耗的情況下,一般遙控器可以作為從機(jī),產(chǎn)品作為主機(jī)。產(chǎn)品在開機(jī)的時(shí)候進(jìn)行搜索廣播設(shè)備,從機(jī)被掃描建立連接。

這樣可以使從機(jī)廣播的功耗低一些,更好控制。

如果使用遙控器作為主機(jī),開啟HAL_SLEEP后,將掃描間隔/掃描窗口注意配置,參考:

藍(lán)牙BLE主機(jī)Central講解二(Observer掃描講解) - SweetTea_lllpc - 博客園 (cnblogs.com)

開啟sleep后睡眠是協(xié)議棧管理,管理喚醒即可,通過tmos任務(wù)處理自己的任務(wù)。

可以直接參考central和peripheral的demo。


(1)請(qǐng)問管理喚醒是直接寫TMOS的任務(wù)嗎?當(dāng)MCU有識(shí)別到有任務(wù)執(zhí)行會(huì)自動(dòng)喚醒嗎?

(2)我程序里面有一個(gè)100ms的按鍵掃描任務(wù),掃描會(huì)一直執(zhí)行,請(qǐng)問這個(gè)時(shí)候,還會(huì)休眠嗎?如果會(huì)休眠,休眠后,按鍵掃描任務(wù)執(zhí)行就會(huì)被自動(dòng)喚醒嗎?


直接tmos任務(wù)管理即可,協(xié)議棧檢查到tmos任務(wù)會(huì)醒來并執(zhí)行任務(wù)。

如果是100ms掃描間隔,通過tmos管理,則會(huì)在100ms間隔到來時(shí)醒來并掃描。如果需要長時(shí)間掃描一段時(shí)間,可以將進(jìn)入sleep函數(shù)的入口根據(jù)標(biāo)志進(jìn)行return。

image.png

sleep功能講解參考:

CH573芯片Sleep說明(RTC程序說明) - SweetTea_lllpc - 博客園 (cnblogs.com)


我想在從機(jī)的廣播包中添加自定義信息,主機(jī)在掃描到自定義信息后,進(jìn)行比對(duì),然后連接,我現(xiàn)在知道

image.png

(1)在圖中的事件處理中可以得到周圍設(shè)備的MAC地址,請(qǐng)問這個(gè)地址,到底是從廣播包中獲取的還是在掃描響應(yīng)包中獲取的呢?

image.png

(2)同理在以上的結(jié)構(gòu)體中可以得到數(shù)據(jù)包的一些數(shù)據(jù),pEvtData就是完整數(shù)據(jù),還是同樣的問題,比如周圍有一個(gè)從機(jī)例程的設(shè)備,這個(gè)數(shù)據(jù)是廣播包的數(shù)據(jù),還是掃描響應(yīng)包的數(shù)據(jù)

(3)怎么才能在這個(gè)數(shù)據(jù)中得到自定義信息,周圍設(shè)備的數(shù)據(jù)長度都不一樣,是直接根據(jù)自己設(shè)備的數(shù)據(jù)包,直接分包解析,識(shí)別固定的那幾位是不是自定義信息,這樣來做嗎?


根據(jù)這個(gè)結(jié)構(gòu)體成員的獲取信息進(jìn)行區(qū)分廣播包和掃描應(yīng)答包,在主機(jī)掃描的cb獲取。

image.png

image.png

image.png

這里填寫的類型為0xFF則為自定義信息,可以自行添加并使用手機(jī)APP查看:

image.png


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

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