微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 如何动态修改广播中的内容

如何动态修改广播中的内容

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

大家好,

请问广播中的数据能不能在初始化结束后被修改?如果可以需要注意哪些方面?

我直接把scanRspData[]中的数据修改了,但是并没有被广播出去,请问该怎么修改代码,来实现广播中的数据可以动态修改?

谢谢

  从名字上就该知道,scanRspData[]是扫描回应数据,不是广播数据。这两个数据都可以动态修改,但是要注意协议栈版本,1.4.0以前版本需要在GAPRole_SetParameter原型中相应位置手动添加GAP_UpdateAdvertisingData函数,具体请参考1.4.0版本,祝成功。

Hi zhi he:

     这两个函数都可以修改:

HCI_LE_SetAdvDataCmd; GAP_UpdateAdvertisingData;

我是把9150的数据处理后500ms广播一次,已经成功了;有什么问题可以q我

广播包内容必须先停止广播才能修改

您的QQ是多少,需要请教您问题。

我还是没做成功。 我吧我的做法贴出来,希望您指点一下:

我首先在初始化的时候,使用

// Set the GAP Role Parameters
GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &initial_advertising_enable );
GAPRole_SetParameter( GAPROLE_ADVERT_OFF_TIME, sizeof( uint16 ), &gapRole_AdvertOffTime );

GAPRole_SetParameter( GAPROLE_ADVERT_DATA, sizeof( advertData ), advertData );//广播数据

然后,在cc2540串口收到数据后,需要更改广播内容,此时,我的操作是:

GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &initial_advertising_temp_enable );//先关闭广播,对内容进行修改。

tempCount++;
tempCount %= 250;
advertData[advertDataLength - 1] = tempCount;   //这里就是更改广播包的内容。

HCI_LE_SetAdvDataCmd(advertDataLength,advertData);
GAP_UpdateAdvertisingData( sensorTag_TaskID, TRUE, advertDataLength, advertData );
initial_advertising_temp_enable = TRUE;

GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &initial_advertising_temp_enable );

但是广播内容依然没有变化。

问题在什么地方?

谢谢

Hi zhi he :

     我的qq是2974219722;

     按照你下面的做法应该是可以修改的呀,你是自己写的android广播扫描吗,还是用254x写的广播扫描?

我在android手机上装了一个“BLE Reader” APP.该APP能够监听到所有的广播。我已经加你QQ。

我看文档以及测试发现,每次我连接后广播出去的数据会被更新一下。没有连接时,数据时不会更新的。

另外参数GAPROLE_PARAM_UPDATE_ENABLE,就是设置在连接时更改参数的。不知道你是怎么测试到广播出去的数据发生了变化?

Hi zhi he:

     我是自己写的扫描程序,然后就打印具体的太观察;“BLE Reader”的那个app看起来不清楚需要修改的数据;

你可以改很多试试看,有没有变动,比如说自加等等的,先试通广播动态修改是没有问题的,然后在把你的修改数据

加上去!

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

网站地图

Top