#define GAPROLE_ADVERT_ENABLED 0x305 //!< Enable/Disable Advertising.
Read/Write. Size is uint8. Default is TRUE=Enabled.
#define
GAPROLE_ADVERT_OFF_TIME 0x306 //!< Advertising Off Time for Limited
advertisements (in milliseconds). Read/Write. Size is uint16. Default is 30
seconds.
#if defined( CC2540_MINIDK )
// For the CC2540DK-MINI keyfob, device
doesn‘t start advertising until button is pressed
uint8
initial_advertising_enable = FALSE;
#else
// For other hardware
platforms, device starts advertising upon initialization
uint8
initial_advertising_enable = TRUE;
#endif
// By setting this to zero, the device will go into the waiting state
after
// being discoverable for 30.72 second, and will not being
advertising again
// until the enabler is set back to TRUE
uint16 gapRole_AdvertOffTime = 0;
// Set the GAP Role Parameters
GAPRole_SetParameter(
GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &initial_advertising_enable );
GAPRole_SetParameter( GAPROLE_ADVERT_OFF_TIME, sizeof( uint16 ),
&gapRole_AdvertOffTime );
设置扫描应答数据和广播数据
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ),
scanRspData );
GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof(
advertData ), advertData );
// GAP - SCAN RSP data (max size = 31 bytes)
static uint8 scanRspData[]
=
{
// complete name
0x14, // length of this data
GAP_ADTYPE_LOCAL_NAME_COMPLETE,
0x53, // ‘S‘
0x69, // ‘i‘
0x6d, // ‘m‘
0x70, // ‘p‘
0x6c, // ‘l‘
0x65, // ‘e‘
0x42, // ‘B‘
0x4c, // ‘L‘
0x45, // ‘E‘
0x50, // ‘P‘
0x65, // ‘e‘
0x72, // ‘r‘
0x69, // ‘i‘
0x70, // ‘p‘
0x68, // ‘h‘
0x65, // ‘e‘
0x72, // ‘r‘
0x61, // ‘a‘
0x6c, // ‘l‘
// connection interval range
0x05, // length of this data
GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE,
LO_UINT16(
DEFAULT_DESIRED_MIN_CONN_INTERVAL ), // 100ms
HI_UINT16(
DEFAULT_DESIRED_MIN_CONN_INTERVAL ),
LO_UINT16(
DEFAULT_DESIRED_MAX_CONN_INTERVAL ), // 1s
HI_UINT16(
DEFAULT_DESIRED_MAX_CONN_INTERVAL ),
// Tx power level
0x02, // length of this data
GAP_ADTYPE_POWER_LEVEL,
0 // 0dBm
};
// GAP - Advertisement data (max size = 31 bytes, though this is
// best
kept short to conserve power while advertisting)
static uint8 advertData[]
=
{
// Flags; this sets the device to use limited discoverable
//
mode (advertises for 30 seconds at a time) instead of general
//
discoverable mode (advertises indefinitely)
0x02, // length of this
data
GAP_ADTYPE_FLAGS,
DEFAULT_DISCOVERABLE_MODE |
GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,
// service UUID, to notify central devices what services are included
// in this peripheral
0x03, // length of this data
GAP_ADTYPE_16BIT_MORE, // some of the UUID‘s, but not all
LO_UINT16(
SIMPLEPROFILE_SERV_UUID ),
HI_UINT16( SIMPLEPROFILE_SERV_UUID ),
};
原文:http://www.cnblogs.com/wwjdwy/p/3631425.html