微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于BLE CC2540如何通过手机来修改程序参数

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

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

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

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

Hi wang,

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

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

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

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与设备相连,之后手机可以设定我想改变的那些的静态值。

提供一个思路:

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

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

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

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

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

来改变参数。

      以上,供参考。

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

网站地图

Top