做阿里巴巴網(wǎng)站口碑seo技術(shù)培訓(xùn)教程
繼續(xù)藍(lán)牙系列的研究。
在上篇博客,通過閱讀BTStack的源碼,大體了解了其框架,對于任何一個BTStack的應(yīng)用程序都有一個main函數(shù),這個main函數(shù)是統(tǒng)一的。這個main函數(shù)做了某些初始化之后,最終會調(diào)用到應(yīng)用程序提供的btstack_main,在btstack_main里面首先做一些初始化,然后調(diào)用hci_power_on函數(shù)去打開藍(lán)牙模塊。
一. 數(shù)據(jù)類型
運行BTStack程序時,會生成hci_dump.pklg文件,可以使用WireShark打開此文件,截圖如下:
怎么理解上圖中的數(shù)據(jù)呢?
BTStack中涉及的數(shù)據(jù)有2類:
1.從硬件上獲得的數(shù)據(jù)、發(fā)給硬件的數(shù)據(jù)
2.為更新系統(tǒng)狀態(tài)而虛構(gòu)的數(shù)據(jù)
1. 跟硬件相關(guān)的數(shù)據(jù)有4類:
① 發(fā)送給藍(lán)牙控制器的Command
② 從藍(lán)牙控制器獲得的Event,藍(lán)牙控制器收到Command后會回復(fù)Event
③ ACL數(shù)據(jù),這涉及收、發(fā)兩個方向
④ SCO數(shù)據(jù)