【BLE】CC2541之修改广播通道

一、简介

本篇以SimpleBLEPeripheral工程为例,讲述CC2541的协议栈中如何修改广播通道。


二、实验平台

协议栈版本:BLE-CC254x-1.3.2

编译软件:IAR 8.20.2

硬件平台:smart RF开发板


三、版权声明

博主:甜甜的大香瓜

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

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

联系方式:[email protected]

技术交流QQ群:127442605


四、广播通道简介

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

其中3个固定的广播通道(37、38、39),37个自适应自动条数据通道。


五、频道修改

附:可选宏(gap.h)

/** @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

1、广播通道修改成全通道跳频

1)配置(peripheral.c)

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

2)实验现象

37通道:

【BLE】CC2541之修改广播通道_第1张图片

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


38通道:

【BLE】CC2541之修改广播通道_第2张图片

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


39通道:

【BLE】CC2541之修改广播通道_第3张图片

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


2、广播通道修改成38广播通道

1)配置(peripheral.c)

  gapRole_AdvChanMap = GAP_ADVCHAN_38;//GAP_ADVCHAN_ALL;


2)实验现象

38通道:

【BLE】CC2541之修改广播通道_第4张图片
用sniffer packet软件抓包,需要把广播通道调至38才可以接收到广播数据和连接后的通信数据(37、39通道无任何数据)。


你可能感兴趣的:(【BLE】CC2541之修改广播通道)