大家好,请问怎么更改SimpleBLEPeripheral的设备名?
我参考这篇文章
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/61571.aspx
1、更改了scanRspData
static uint8 scanRspData[] =
{
// complete name
0x14, // length of this data
GAP_ADTYPE_LOCAL_NAME_COMPLETE,
0x53, // 'A'
0x69, // 'A'
0x6d, // 'A'
0x70, // 'A'
0x6c, // 'A'
0x65, // 'A'
0x42, // 'A'
0x4c, // 'A'
0x45, // 'A'
0x50, // 'A'
0x65, // 'A'
0x72, // 'A'
0x69, // 'A'
0x70, // 'A'
0x68, // 'A'
0x65, // 'A'
0x72, // 'A'
0x61, // 'A'
0x6c, // 'A'
// 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
};
2、更改了attDeviceName
static uint8 attDeviceName[GAP_DEVICE_NAME_LEN] = "AAAAAA AAA AAAAAAAAAA";
3、修改GGS_SetParameter
GGS_SetParameter( GGS_DEVICE_NAME_ATT, sizeof ( attDeviceName ) , attDeviceName );
在android手机上还是显示SimpleBLEPeripheral,请问还有什么需要修正吗?
Yan:
Sco Lin ,
这是有可能之前链接手机记下了名字,你能换一部手机再搜索试一下吗?
Sco Lin:
回复 Yan:
谢谢Y的回复
我换了一部手机还是显示SimpleBLEPeripheral,
然后我直接烧成simpleBLEBroadcaster的firmware,手机就显示为simpleBLEBroadcaster
所以应该是哪里没改到,不知道还有哪些地方需要修正?
Yan:
回复 Sco Lin:
Sco Lin,
这就很奇怪了,因为这是相当直接简单的设置,不应该发生这种问题。
你确定你的程序里面没有把下面两句给干掉?下面两句不能干掉:
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData ); GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData );
甜甜的大香瓜:
回复 Sco Lin:
1、《CC2541之动态更新设备名》:http://blog.csdn.net/feilusia/article/details/50514576
2、手机清楚缓存:关闭app、关闭手机蓝牙开关、打开手机蓝牙开关、打开app。
2步即可
甜甜的大香瓜:
回复 Yan:
LZ的问题在于,修改广播名称只修改了备注,数值还是原来的……
Sco Lin:
回复 mark_xu:
谢谢各位的回复
如mark_xu所述,scanRspData的数组有误
现在已正确显示