使用simple_peripheral_oad_onchip例子,然后添加一些项目代码(包括修改MAC地址),发现从persistent_app程序 OAD到app程序没有问题,然后app程序OAD到 app程序升级就卡在手机app进不了OAD界面的情况。经过测试发现出现这种情况比较多是由于persistent_app和app的MAC地址不一样导致的,但是原始的simple_peripheral_oad_onchip例子却不会出现这种情况。如下图显示。所以想问下这种OAD升级进不了OAD界面的因素有哪些?或者代码里哪个API是搞这个的?
手机app:Simplelink Starter和SensorTag
Android版本:10
Kevin Qiu1:
SDK版本是多少,CC2640r2fMAC地址是固定的,一般不需要修改MAC地址
卑鄙的信鸽:
回复 Kevin Qiu1:
SDK版本是simplelink_cc2640r2_sdk_4_30_00_08,MAC地址因为项目需求要求更改。
Kevin Qiu1:
回复 卑鄙的信鸽:
连接不上主要和连接参数有关,MAC地址、广播名称等也有影响.
MAC地址需要一致
卑鄙的信鸽:
回复 Kevin Qiu1:
麻烦能不能说具体点,为什么这些参数会影响这个连接?是哪个函数弄这个连接的?还有原始的代码例子我测试了下是不会出现这个情况。
Kevin Qiu1:
回复 卑鄙的信鸽:
连接参数都有范围,不要超出阈值
参数:C:/ti/simplelink_cc2640r2_sdk_4_30_00_08/docs/ble5stack/ble_user_guide/html/ble-stack-5.x/gap.html
卑鄙的信鸽还有原始的代码例子我测试了下是不会出现这个情况。
那就是修改部分的问题,检查修改的部分
卑鄙的信鸽:
回复 Kevin Qiu1:
你好,你发给我的链接我看了,代码里我并没有修改这些连接参数(最小连接间隔,最大连接间隔,从属延迟和超时)。
卑鄙的信鸽:
回复 Kevin Qiu1:
在代码里设置这些连接参数效果并不大。然后还有没有其他的原因导致连接不上的?还有为什么会出现MAC地址不一样容易导致这个问题?
Kevin Qiu1:
回复 卑鄙的信鸽:
原因比较多,主要查看你修改的部分
看下persistent_app的作用
The responsibilities of the application depend on which OAD solution is used. In on-chip OAD, the user application is only responsible for plugging the OAD reset service. The TI- provided persistent application is responsible for plugging the OAD profile module that manages the download. In the case of off-chip OAD, the user application is responsible for plugging the OAD module.C:/ti/simplelink_cc2640r2_sdk_4_30_00_08/docs/blestack/ble_user_guide/html/ble3-stack-oad/oad-application.html#oad-process