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