BLE4.0 执行流程

上传人:ali****an 文档编号:109904478 上传时间:2019-10-28 格式:DOC 页数:12 大小:358.20KB
返回 下载 相关 举报
BLE4.0 执行流程_第1页
第1页 / 共12页
BLE4.0 执行流程_第2页
第2页 / 共12页
BLE4.0 执行流程_第3页
第3页 / 共12页
BLE4.0 执行流程_第4页
第4页 / 共12页
BLE4.0 执行流程_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《BLE4.0 执行流程》由会员分享,可在线阅读,更多相关《BLE4.0 执行流程(12页珍藏版)》请在金锄头文库上搜索。

1、Project:SimpleBLEPeripheral1. 主机改写特征值后,从机的调用执行过程。1) .先是在simpleBLEPeripheral.c的SimpleBLEPeripheral_Init()调用下面的API进行初始化。2) .读写特征值回调函数的注册:(simpleGATTprofile.c)3) .参数simpleProfileCBs的定义为:4) .函数simpleProfile_WriteAttrCB调用回调函数的API。5) .结构体simpleProfile_APPCBs的赋值为:6) .在SimpleBLEPeripheral_Init()中进行赋值初始化,注册回

2、调函数:7) .参数simpleBLEPeripheral_SimpleProfileCBs赋值如下:8) .最后真正执行特征值被改变时,判断具体哪个特征值被改变,并对应执行应用编程。9) .Project:SimpleBELCentral2. 按键的执行过程。1) .main函数中进行key初始化。HalDriverInit()调用HalKeyInit()按键GPIO驱动初始化;InitBoard()调用HalKeyConfig()进行按键key配置。包含回调函数OnBoard_KeyCallback.2) .当按键有按下时,进入外部中断入口,发出HAL_KEY_EVENT事件.3) .OS

3、AL循环判断,进入HAL层,执行Hal_ProcessEvent()任务.然后调用检测按键函数HalKeyPoll().4) .函数HalKeyPoll()的详细内容,HalKeyPoll函数进行按键判断,分析哪个按键按下。然后会调用pHalKeyProcessFunction函数。pHalKeyProcessFunction函数即是OnBoard_KeyCallback函数,在InitBoard函数进行初始化时调用HalKeyConfig函数配置时有对pHalKeyProcessFunction变量进行赋值。5) .函数OnBoard_KeyCallback调用OnBoard_SendKey

4、s函数Send Key Pressed message to application。6) .变量registeredKeysTaskID在RegisterForKeys()函数中被赋值,而RegisterForKeys()在SimpleBLECentral_Init()中被调用。7) .执行函数osal_msg_send( registeredKeysTaskID, (uint8 *)msgPtr )之后,OSAL任务查询时会跳转到应用层APP:SimpleBLECentral_ProcessEvent函数。8) .函数simpleBLECentral_HandleKeys就是应用层按键处理

5、函数。9) .Project:SimpleBLEPeripheral3. 从机服务端发起广播的过程。1) .直接调用GAP层的API函数GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &initial_advertising_enable ),对应的参数很重要。2) .GAPRole_SetParameter在GAPROLE_ADVERT_ENABLED这个变量下会进行判断当前的状态进行调用对应的API。3) .OSAL循环查询任务时,进入到gapRole_TaskID对应的任务GAPRole_ProcessEven

6、t。在函数GAPRole_ProcessEvent里对对应的START_ADVERTISING_EVT进行相关的广播设置。最后调用GAP_MakeDiscoverable()函数API进行广播。4) .机构体pGapRoles_AppCGs在应用层任务中进行初始化。5) .变量simpleBLEPeripheral_PeripheralCBs的初始化.6) .7) .Project:SimpleBELCentral4. 开机自动扫描并发起连接的执行过程。1) .在应用层任务初始化SimpleBLECentral_Init时,发出启动设备事件。2) .在OSAL中循环查询应用层任务并执行,判断e

7、vents为START_DEVICE_EVT时执行发起扫描任务。3) .函数API:GAPCentralRole_StartDiscovery()具体设置扫描参数和调用如下:4) .连接connect:是在simpleBLECentralEventCB函数中判断是否为扫描事件,并判断被发现设备的数目。5) .发起连接函数:6) .跟踪simpleBLECentralEventCB()函数的被调用:.定义simpleBLERoleCB变量时使用simpleBLECentralEventCB进行赋值。.simpleBLERoleCB作为参数传递给函数GAPCentralRole_StartDevice().跟踪pGapCentralRoleCB的被调用:.跟踪gapCentralRole_ProcessGAPMsg()函数的调用:.跟踪gapCentralRole_ProcessOSALMsg()函数的调用:7) .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号