TI中文支持网
TI专业的中文技术问题搜集分享网站

关于BLE CC2540如何通过手机来修改程序参数

我想通过手机和CC2540 Soc建立通信之后,能够通过手机来修改内部的一些参数,比如说advertData[]等等,我不清楚这些数据具体存放在那块存储区,以及CC2540在运行时如何通过查询这块区域来广播信息。

希望有做过这一块的可以指点一下,万分感谢!

Yan:

Hi wang,

advertData[] 是存放在内存中的, 可以修改.

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

通过上面这个函数就可以灵活修改, 在每次广播开始的时候发送新的广播包.

wang jhon:

回复 Yan:

Hi,Yan

感谢你的及时回答,我表达的有点不清晰,我想做的是通过手机APP来动态的修改adverData[].

通过程序我知道,这些静态变量存放的位置是XDATA,DMA可以操作XDATA全部的空间,在

XDATA_I Relative segment, address: XDATA 000004B1 – 000004CF (0x1f bytes), align: 0 Segment part 16. Intra module refs: GAPRole_GetParameter GAPRole_SetParameter gapRole_ProcessGAPMsg LOCAL                                      ADDRESS =====                                       ======= gapRole_AdvertData             000004B1

从这里可以看出AdverDate的地址,可以通过DMA操作来进行动态的修改。我想问的是,有没有例程介绍,DMA的运行,以及如何并非是通过烧录程序来修改这些静态的值,举个例子,通过手机APP与设备相连,之后手机可以设定我想改变的那些的静态值。

changjun shan:

回复 wang jhon:

提供一个思路:

      ①.先制定一个简单的协议,用于手机App和CC2540的Firmware的通信;

      ②.手机App在跟CC2540的基本通信建立以后,用上述协议中约定的命

令把要修改的数据送到CC2540;

      ③CC2540收到数据以后,再调用接口:

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

来改变参数。

      以上,供参考。

赞(0)
未经允许不得转载:TI中文支持网 » 关于BLE CC2540如何通过手机来修改程序参数
分享到: 更多 (0)