蓝牙广播:

一.广播类型和广播包内容结构,

常见的广播类型有:

1.不可以连接广播,只发送广播包,常用于beacon应用,例程可参考broadcast。

2.可连接广播,发送广播包,收到扫描请求会发送扫描应答包,常用于连接配置或透传通信等,例程可参考peripheral。

广播包和扫描应答包结构:

长度+类型+内容,如020106,类型也算一个字节长度,广播包和扫描应答包最大31字节。

二.开启和关闭广播

initial_advertising_enable = TRUE;
GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t), &initial_advertising_enable);    //传true开启广播
initial_advertising_enable = FALSE;
GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t), &initial_advertising_enable);    //传false关闭广播

三.动态修改广播内容

GAP_UpdateAdvertisingData( Peripheral_TaskID,TRUE ,sizeof( advertData ),advertData );        //修改广播包

GAP_UpdateAdvertisingData( Peripheral_TaskID,FALSE ,sizeof( scanRspData ),scanRspData );     //修改扫描应答包

四.广播间隔

 

#define DEFAULT_ADVERTISING_INTERVAL         80                //单位625us  50ms
uint16_t advInt = DEFAULT_ADVERTISING_INTERVAL;
GAP_SetParamValue(TGAP_DISC_ADV_INT_MIN, advInt);
GAP_SetParamValue(TGAP_DISC_ADV_INT_MAX, advInt);
posted on 2024-11-06 19:45  WCH蓝牙应用分享  阅读(74)  评论(0)    收藏  举报