CC2540通过I2C连接了一个温度计,我希望温度升高超过警报值时,CC2540可以改变名字,这样即使不连接也可以看到名字的变化
程序用SimplePeripheral改的,目前的情况是我用热风吹温度计时,处理函数可以闪烁LED,串口也可以输出相应信息, 但是没法改变设备的名字。
看了之前的两个贴
http://e2e.ti.com/support/wireless_connectivity/f/538/t/72681.aspx
我先修改了
case GAPROLE_ADVERT_DATA:
if ( len <= B_MAX_ADV_LEN )
{
VOID osal_memset( gapRole_AdvertData, 0, B_MAX_ADV_LEN );
VOID osal_memcpy( gapRole_AdvertData, pValue, len );
gapRole_AdvertDataLen = len;
GAP_UpdateAdvertisingData();
}
在温度事件处理函数里添加了 GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &advertDisabled ); 来停掉广播
然后用GGS_SetParameter( GGS_DEVICE_NAME_ATT, GAP_DEVICE_NAME_LEN - 1, attDeviceName )修改了名字
最后用GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &advertEnabled );来启用广播
可是实际应用时发现,运行完最后一步启用广播后,CC2540就重启了,请问问题可能出现在哪里呢?
另外我想知道,GAP_UpdateAdvertisingData()运行时,是更新了attDeviceName么?谢谢~~