微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 修改名称后需要重启吗?

修改名称后需要重启吗?

时间:10-02 整理:3721RD 点击:

您好!

    我修改设备名称后,发现需要重启一下才可以更新

请问能否抽空我帮解决一下

谢谢!

我的做法如下:

将static uint8 scanRspData[]改为
void Update_ParameterScanRspData(void)
{
uint8 NameLen,*str_point,*Name_point;
uint8 MachineName[21];
uint8 scanRspData[35]={0};
uint8 scanRsplen;
osal_snv_read(AddrName,1, &NameLen); // 名称长度
osal_snv_read(AddrName,NameLen+1,MachineName); //名称长度+名称
str_point = scanRspData;
*str_point++ = NameLen+1;
*str_point++ = GAP_ADTYPE_LOCAL_NAME_COMPLETE;
Name_point = &MachineName[1];
osal_memcpy(str_point, Name_point, NameLen);
str_point +=NameLen;
*str_point++ = 0x05; // length of this data
*str_point++ = GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE;
*str_point++ = LO_UINT16( DEFAULT_DESIRED_MIN_CONN_INTERVAL );
*str_point++ = HI_UINT16( DEFAULT_DESIRED_MIN_CONN_INTERVAL );
*str_point++ = LO_UINT16( DEFAULT_DESIRED_MAX_CONN_INTERVAL );
*str_point++ = HI_UINT16( DEFAULT_DESIRED_MAX_CONN_INTERVAL );
// Tx power level
*str_point++ = 0x02;
*str_point++ = GAP_ADTYPE_POWER_LEVEL;
*str_point++ = 0;
scanRsplen = NameLen+ 11;
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, scanRsplen, scanRspData );
GGS_SetParameter( GGS_DEVICE_NAME_ATT, scanRsplen, scanRspData);
}

接收到新名称后,保存在Flash中

然后调用Update_ParameterScanRspData()更改名称

但是总是要重启才可以更新名称

非常感谢!

StarRiver,

adv 和 scan的内容的修改,需要先停止广播,再修改内容,然后再重启广播才能完成更改。

所以你只需要在修改前停止广播,修改完后再重启广播就行,不需要重启整个系统。

非常感谢你的解答!

更改名称后,调用函数如下函数即可

GAP_UpdateAdvertisingData(simpleBLEPeripheral_TaskID,
TRUE,
sizeof(advertData),
advertData );

StarRiver,

用这两个分别改adv 和 scan resp:

GAPRole_SetParameter(GAPROLE_SCAN_RSP_DATA, sizeof (scanRspData), scanRspData);
GAPRole_SetParameter(GAPROLE_ADVERT_DATA, sizeof(advertData), advertData);

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top