自己做头像的网站,百度推广多少钱一天,临泉县建设局网站,wordpress重写登录页面[本文属原创#xff0c;转载请附上原文出处链接。]一、需要的软件工具1、BLE协议栈(BLE-CC254x-1.4.0)2、IAR开发软件(IAR Embedded Workbench8.20.2)注#xff1a;1.4.0协议栈使用8.20.2的iar版本#xff0c;1.3.2协议栈等使用的是8.10.4的iar版本。二、BLE协议栈安装目录下…[本文属原创转载请附上原文出处链接。]一、需要的软件工具1、BLE协议栈(BLE-CC254x-1.4.0)2、IAR开发软件(IAR Embedded Workbench8.20.2)注1.4.0协议栈使用8.20.2的iar版本1.3.2协议栈等使用的是8.10.4的iar版本。二、BLE协议栈安装目录下文件夹说明Accessories 一些工具和已经编译好的Hex文件此文件夹中有Btool的安装包、USB-CDC的驱动附件;Components Hal驱动OSAL源码、协议栈通用源码此文件夹是OSAL各层组件的实现;Documents 帮助文档协议栈说明文档包括协议栈和DEMO的相关介绍和开发文档这是学习BLE最好的资料;Projects 工程文件这里有一些TI的Demo我们开发一般是在Demo的基础上进行修改。三、BLE协议栈工作流程关于BLE协议栈工作流程图大概就是下面这个样子BLE协议栈分为主机和控制器两部分。主机部分包括:逻辑链路控制及自适应协议层、安全管理层、属性协议层、通用访问配置文件层、通用属性配置文件层控制器部分包括:物理层链路层、主机控制接口层。BLE协议栈的配置文件层包括GAP角色/安全配置文件、GATT配置文件两部分,处于协议栈的顶层配置文件层将协议栈和应用层联系在一起。GAP层负责处理设备访问模式和连接如广播的使能/禁止、广播的间隔、配对绑定及连接的控制、初始化安全管理。在成功连接设备后可以调用对应的函数来获得设备的service(服务)并对service中的characterister(标签)进行读写。GATT层主要是用来数据通信即service跟characterister。可以在设备的BLE协议栈中添加一个或多个service而service(服务)中包含一个或多个characterister(标签)。BLE协议栈四种设备类型Central主机、Peripheral从机、Observer观察者、Broadcaster广播者。主机和从机的通信过程大概是:从机开启广播主机开始扫描当从机接收到主机的扫描消息后会向主机发送扫描回应数据。然后主机发起连接建立通信。四、消息广播在完成一个处理事件后需要把这个消息广播出去就把值填加到广播数组中advertData[],调用GAPRole_SetParameter(GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData );函数广播出去这样还不能广播成功。进入GAPRole_SetParameter里面发现缺少GAP_UpdateAdvertisingData函数需要修改动态广播数据加入以下代码case GAPROLE_ADVERT_DATA:if ( len B_MAX_ADV_LEN ){VOID osal_memset( gapRole_AdvertData,0, B_MAX_ADV_LEN );VOID osal_memcpy( gapRole_AdvertData,pValue, len );gapRole_AdvertDataLen len;GAP_UpdateAdvertisingData(gapRole_TaskID,TRUE,gapRole_AdvertDataLen, gapRole_AdvertData );}else{ret bleInvalidRange;}break;在调用完GAPRole_SetParameter函数后可以广播了需要控制任务调用时间控制后面添加osal_start_timerEx函数这个是定时循环向任务发送事件消息具体实际时间可以自己定。GAPRole_SetParameter(GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData );osal_start_timerEx(simpleBLEBroadcaster_TaskID,SBP_ADV_RGB_EVT,100);return ( events ^SBP_ADV_RGB_EVT );这样数据就可以广播了采用PacketSniffer抓包就可以在AdvData看到广播数据了(十六进制数)。在使用某个功能时必须在Option下配置C/Compiler Preprocessor添加宏定义来开启。比如使用串口时添加HAL_UARTTURE,注销POWER_SAVING。在使用ADC功能时添加HAL_ADCTRUE。