如何修改DevieName?
請教一個問題,目前正在用CC2540官方的範例SimpleBLEPeripheral進行學習及修改,原先範例程式必須按下Keyfob的右按鈕後,才會進行廣播,現在想要在按下按鈕後,改變原本的裝置名稱,並且以新的裝置名稱進行廣播,請問要在哪裡修改、如何修改?
我是以開發套件Keyfob+USB dongle +BTool進行測試
原名稱SimpleBLEPeripheral--->按下按鈕後修改為TestSimpleBLE123456
请参考这个WIKI,里面有例程: http://processors.wiki.ti.com/index.php/CC2540_DeviceNameWrite
以下是我修改的部分,我直接在按下按鈕後的地方進行修改,我有先找過相關資料了,大部分都是說以下兩行要進行修改才可以,但是我改了還是沒變,
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData );
GGS_SetParameter( GGS_DEVICE_NAME_ATT, sizeof ( attDeviceName ) , attDeviceName );
不知道是否我哪裡寫錯了? 還是還缺少什麼? 下面是我直接拿SimpleBLEPeripheral.C範例程式修改的,請幫忙解答。
再敘述一下我想要的功能,按下按鈕後更改DeviceName並且啟動廣告。
if ( keys & HAL_KEY_SW_2 )
{
SK_Keys |= SK_KEY_RIGHT;
// if device is not in a connection, pressing the right key should toggle
// advertising on and off
if( gapProfileState != GAPROLE_CONNECTED )
{
uint8 current_adv_enabled_status;
uint8 new_adv_enabled_status;
//Find the current GAP advertisement status
GAPRole_GetParameter( GAPROLE_ADVERT_ENABLED, ¤t_adv_enabled_status );
if( current_adv_enabled_status == FALSE )
{
new_adv_enabled_status = TRUE;
}
else
{
new_adv_enabled_status = FALSE;
}
unsigned char box1[]="SimpleBLE0123456789";
for(char i=2;i<21;i++)
{
scanRspData[i]=box1[i-2];
}
GAPRole_SetParameter( GAPROLE_SCAN_RSP_DATA, sizeof ( scanRspData ), scanRspData );
GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData );
unsigned char box2[]="Simple BLE 0123456789";
for(char i=0;i<21;i++)
{
attDeviceName[i]=box2[i];
}
GGS_SetParameter( GGS_DEVICE_NAME_ATT, sizeof ( attDeviceName ) , attDeviceName );
// Setup the GAP Peripheral Role Profile
GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &new_adv_enabled_status );
}
}
已經解決了,不過不是您說的那樣,但還是謝謝您的答覆。
楼主能分享一下你的方法吗?其实这个问题应该去蓝牙论坛问。