【BLE】CC2541之修改广播通道

来源:互联网 发布:部落冲突皮卡超人数据 编辑:程序博客网 时间:2024/06/05 01:57

本篇博文最后修改时间:2017年01月06日,11:06。


一、简介

本文以SimpleBLEPeripheral工程为例,介绍如何修改广播通道。


二、实验平台

协议栈版本:BLE-CC254x-1.4.0

编译软件:IAR 8.20.2

硬件平台:smart RF开发板(主芯片CC2541)、USB Dongle


版权声明

博主:甜甜的大香瓜

声明:喝水不忘挖井人,转载请注明出处。

原文地址:http://blog.csdn.NET/feilusia

联系方式:897503845@qq.com

香瓜BLE之CC2541群:127442605

香瓜BLE之CC2640群:557278427

香瓜BLE之Android群:541462902

香瓜单片机之STM8/STM32群:164311667
甜甜的大香瓜的小店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i

四、实验前提
1、在进行本文步骤前,请先阅读以下博文:
暂无

2、在进行本文步骤前,请先实现以下博文:
暂无


五、基础知识

1、广播通道有哪些?

答:

CC254x运行在2.4GHz、40频道2MHz的通信间隙,能更好地防止相邻频道的干扰。

其中3个固定的广播通道(37、38、39),37个连接后使用的数据通道。


2、协议栈中可选通道参数有哪些?

答:

/** @defgroup GAP_ADVCHAN_DEFINES GAP Advertisement Channel Map * @{ */#define GAP_ADVCHAN_37  0x01  //!< Advertisement Channel 37#define GAP_ADVCHAN_38  0x02  //!< Advertisement Channel 38#define GAP_ADVCHAN_39  0x04  //!< Advertisement Channel 39#define GAP_ADVCHAN_ALL (GAP_ADVCHAN_37 | GAP_ADVCHAN_38 | GAP_ADVCHAN_39) //!< All Advertisement Channels Enabled
注:gap.h中


六、实验步骤(广播通道为全通道)

1、将广播通道修改成全通道跳频(peripheral.c中)

  gapRole_AdvChanMap = GAP_ADVCHAN_ALL;
协议栈中默认是全通道(37、38、39三通道跳频)


2、实验结果

1)37通道


可抓到广播数据和连接时的通信数据。


2)38通道


可抓到广播数据,但不能抓到连接时的通信数据。


3)39通道


可抓到广播数据,但不能抓到连接时的通信数据。


七、实验步骤广播通道修改成38广播通道

1、将广播通道修改成38广播通道(peripheral.c中)

  gapRole_AdvChanMap = GAP_ADVCHAN_38;//GAP_ADVCHAN_ALL;


2、实验结果

1)37通道

抓不到任何数据。


2)38通道



3)39通道

抓不到任何数据。


因此,实验成功。


0 0