您好!
我在 BLE stack1.4.0中使用了 runningservice、我使用它发送数据、 我刚刚移植到 BLE 堆栈1.4.2.2并以相同的格式发送数据、但在这两种用例中、我获取的数据与使用堆栈1.4.0发送的旧格式不同。
使用栈1.4.0,我将在 UUID 0x2A53中获取数据 ,值类似于:03 00 00 00 00 00 00 00 00 00 00 00
在这之后、我每次发送数据时、它都会以这种格式本身进行更新。
但使用相同的代码,我将在 UUID 0x2A53中获取数据 ,值类似于:22 00 00 1B 00 FF B0 00 00
我使用的是1.4.2.2中的默认密钥卡项目、只是通过保持1.4.2.2堆栈中的所有内容不变、从1.4.0代码添加了我的应用。
我使用的函数在栈1.4.0中正常工作 、可使用运行服务将数据从我的应用程序代码发送到移动应用程序、如下所示。
(三
*@fn sensorMeasNotify
*
*@简要准备并发送 RSC 测量通知
*
*@返回无
*
静态空 sensorMeasNotify (uint8 AB、uint8 CD)
{
uint8 *p = sensorMeas .pValue;
uint8标志= 0x03;//sensorFlagsIdx];
FLAGS = FLAGS & 0x0FB;
//根据仿真值构建 RSC 测量结构
//标志模拟当前位。
*p++=标志;
//包括,与标志无关。
*p++= LO_UINT16( instSpeed );
*p++= HI_UINT16( instSpeed );
*p++=实例;
if (flags & RSC_FLAGS_STRIDE)
{
*P++= LO_UINT16( instStripedLength );
*P++= HI_UINT16( instStripedLength );
}
IF (FLAGS 和 RSC_FLAGS_DIST)
{
*p++=AB;//break_uint32 (totalDistance、0);
*p++=CD;//break_uint32 (totalDistance、1);
*p++=break_uint32 (totalDistance、2);
*p++=break_uint32 (totalDistance、3);
}
//获取长度
sensorMeas.len =(uint8)(p - sensorMeas.pValue);
//发送到服务以发送通知
Running_MeasNotify (gapConnHandle,&sensorMeas);
}
栈1.4.2.2中的相同代码提供了一些随机值。
但是,从栈1.4.2.2 配置文件--> RSC 中使用的运行文件
与以前的堆栈相比,最新堆栈中有任何变化。 或者普尔斯建议我做任何错误的事......!!!
此致、
阿图尔