到这里,我们开始分析具体的协议栈每一层的数据处理,首先从底下的LL数据链路层开始。依然是根据韦东上老师的视频进行解析分析。
结合书籍《低功耗蓝牙开发权威指南,Robin Heydon著》第7章,实际上这书只是对蓝牙原版协议的简化、摘要。回顾以前学过的《BLE协议各层的形象化理解》和《BLE协议各层数据格式概述》
一 链路层的5种状态:
就绪态(Stanby)、扫描态(Scanning)、广播态(Advertsing)、发起态(Initiating)、连接态(Connection)。
扫描态有2种子状态:被动扫描(Passive Scanning)、主动扫描(Active Scanning)
连接态有2种子状态:主(Master Role)、从(Slave Role)
二、数据格式:
1、LL层可以发出:广播包、数据包。Access Address等于0x8e89bed6时,是广播包;否则是数据包。
广播包
广播包有多种:
ADC_IND(通用广播)
ADV_DIRECT_IND(定向广播)
ADV_NONCONN_IND(不可连接广播)
ADV_SCAN_IND(可扫描广播)