This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2541:堆栈1.4 .2.2 中的运行服务问题

Guru**** 2560970 points
Other Parts Discussed in Thread: BLE-STACK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/585321/cc2541-running-service-issue-in-stack-1-4-2-2

部件号:CC2541
主题中讨论的其他部件:BLE堆栈

您好,

我在BLE 1.4 st452.0中使用运行服务,我使用它发送数据, 我刚刚移植到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获取数据 ,值类似于:2.2亿B 00 FF B00000

一旦该值出现,它就会被自身卡住,而且这种情况也不会进一步变化。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Atul:

    您是从1.4 1.4 v.0将现有代码移植到BLE-Stack v.2还是从v.1.4 2中的现有示例开始?
    如何重现您的问题?

    祝你一切顺利
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    JXS,您好!

    谢谢你们的回复!!!

    我没有从1.4 .0将所有代码完全移植到1.4 .2,

    我正在使用1.4 的默认密钥卡项目2,并且只是从1.4 0代码添加我的应用程序,方法是保持REST在1.4 2堆栈中的所有内容相同。

    我正在使用的功能在堆栈1.4 中工作正常。如 下面所示,使用运行服务将数据从我的应用程序代码发送到移动应用程序。

    ***************
    *@fn sensorMeasNotify
    *
    *@简要准备并发送RSC测量通知
    *
    *@返回none
    */
    静态void传感器MeasNotify (uint8 ab, uint8 CD)

    UINT8 *p = sensorMeas.pValue;
    UINT8 flags = 0x03;//sensorFlags[sensorFlagsIdx];
    flags = flags和0x0FB;

    //根据模拟值构建RSC测量结构
    //标记模拟存在位。
    *p++=标志;

    //不考虑标记,也包括在内。
    *p++= LO_UINT16( instSpeed );
    *p++= HI_UINT16( instSpeed );
    *p++= instCadence;

    IF (flags和RSC_flags_STRIDE)

    *p++= LO_UINT16( instStrideLength );
    *p++= HI_UINT16( instStrideLength );
    }

    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 给出了一些随机值。

    但是,从堆栈RSC. 2.2 配置文件--> 1.4 中使用的运行服务文件  

    请建议我做任何错误的事情……!!!

    此致,

    阿图尔