本篇博文最后修改时间:2017年01月06日,11:06。
一、简介
本文介绍如何实现广播60S后停止广播。
二、实验平台
协议栈版本:BLE-CC254x-1.4.0
编译软件:IAR 8.20.2
硬件平台:Smart RF(主芯片CC2541)
手机型号: 小米4S
安卓版本:安卓5.1
安卓app:TruthBlue
三、版权声明
博主:甜甜的大香瓜
声明:喝水不忘挖井人,转载请注明出处。
原文地址:http://blog.csdn.NET/feilusia
联系方式:897503845@qq.com
香瓜BLE之CC2541群:127442605
香瓜BLE之CC2640群:557278427
香瓜单片机之STM8/STM32群:164311667
甜甜的大香瓜的小店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i
四、
实验前提
1、在进行本文步骤前,请先
阅读
以下博文:
暂无
2、在进行本文步骤前,请先
实现以下博文:
暂无
五、基础知识
暂无
六、实验步骤
1、修改成limit模式(SimpleBLEPeripheral.c中)
#if defined ( CC2540_MINIDK )
#define DEFAULT_DISCOVERABLE_MODE GAP_ADTYPE_FLAGS_LIMITED
#else
#define DEFAULT_DISCOVERABLE_MODE GAP_ADTYPE_FLAGS_LIMITED//GAP_ADTYPE_FLAGS_GENERAL
#endif // defined ( CC2540_MINIDK )
2、修改广播时间(SimpleBLEPeripheral.c的SimpleBLEPeripheral_Init函数中添加)
//修改limit模式下的广播时间
#define tgap_lim_adv_timeout 60 //60秒
GAP_SetParamValue(TGAP_LIM_ADV_TIMEOUT, tgap_lim_adv_timeout);
如果不做此修改,默认是3分钟。在如下处有说明:
#define TGAP_LIM_ADV_TIMEOUT 1 //!< Maximum time to remain advertising, when in Limited Discoverable mode. In seconds (default 180 seconds)
七、注意事项
手机可能缓存了之前的代码(在更新过CC2541的代码之后,都需要清除手机端的缓存!!!),因此要清除缓存,清除缓存的方法如下:
方法一:关闭app、关闭蓝牙总开关、打开蓝牙总开关、打开app。
方法二:手机重启。
八、实验结果
仿真并全速运行,用安卓手机的truthblue查看CC2541广播时间,广播在60S后停止。
因此,实验成功。