Part Number:CC2340R5
基于CC2340R5+simplelink_lowpower_f3_sdk_8_20_00_119,修改rtos\LP_EM_CC2340R5\ble5stack\basic_ble以接收智能手表的心率通知数据。CC2340R5 Central在接收手表心率通知数据约80-300条之间数量后,无法再接收到心率通知数据。使用手机App 蓝牙调试助手测试,发现智能手表在发送一段时间心率通知数据后,会暂停几十秒钟的时间后,再重新发送心率通知数据,怀疑是不是因为智能手表会暂停心率通知数据发送,从而造成了BLE Stack Notify异常。请问该如何处理上述问题,谢谢!
B.R
Andy Liu
ke liu:
补充一下:连接一直未断开,连接事件正常。智能手表暂停通知发送后,也会继续发送心跳通知。使用sniffer抓包如下
CC2340R5端接收通知处理代码如下:
case ATT_HANDLE_VALUE_NOTI: {
++notify_cnt; if(gattMsg->msg.handleValueNoti.pValue[1] != 0) {
meas_heart_val[0] = gattMsg->msg.handleValueNoti.pValue[0];
meas_heart_val[1] = gattMsg->msg.handleValueNoti.pValue[1];
}
__NOP();
}
break;
,
ke liu:
请TI专家尽快回复下!!!
,
Vivian Gao:
我们需要时间为您调查,下周给您回复。
,
Vivian Gao:
你所做的描述让我认为问题可能出在心率传感器方面。了解是什么让它停止发送数据应该有助于您确定下一步。
,
ke liu:
Hi Vivian,
我想跟心率传感器暂停发送心率通知没有关系,因为手机BLE 调试助手是一直都能接收到心率传感器的通知,即使是心率传感器暂停后继续发送通知这种情况。用sniffer监测发现,心率传感器在有发送心率通知的情况下,CC2340R5接收不到心率通知(才连接上,可以接收大约200多次心率通知),但连接一直是正常的,程序也没死掉,BLE Stack没有Notify消息发过来。BLE Stack到底有没有接收到通知,有没有什么办法监测一下。BLE Stack不发消息,就什么状态都不知道了。
,
Vivian Gao:
感谢您提供的额外信息。连接是否在“暂停”期间终止?你能分享heart_rate profile files 吗?也许在如何设置特征配置方面存在问题。
,
ke liu:
Hi Vivian,
暂停期间,连接正常。CC2340R5作为主机,附件是项目文件,请查阅,谢谢!basic_ble_LP_EM_CC2340R5_freertos_ticlang 心率通知 SPI OK 20250105.rar
,
Vivian Gao:
谢谢你的分享。代码看起来不错。我建议他们将配置文件/服务代码放在自己的文件中,但这不应该影响功能。智能手表是否将CCCD设置为禁用通知?
,
ke liu:
智能手表没有禁用通知,Sniffer抓包一直能抓到手表的通知。
,
Vivian Gao:
我有点困惑。是手表向CC2340R5发送通知,还是CC2340R5向手表发送通知?还是两者都发送通知?
,
ke liu:
只是手表向CC2340R5发送通知
,
Vivian Gao:
我看到您正在使用8.20 SDK版本。你能在最新的8.40重新测试一下吗?如果这是一个bug,那么它可能在最新版本中得到了解决。
,
ke liu:
好的,我在新版本上试试。但估计要年后才有时间试了。
TI中文支持网






