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.

[参考译文] RTOS:CC2640的 GATT_Indication

Guru**** 2581345 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/593067/rtos-gatt_indication-of-cc2640

工具/软件:TI-RTOS

第一个问题。    我使用 GATT_Indication 将数据发送到中心。 当  我在中间标记了征象时、只有第一个使用 GATT_INITTIndication 返回成功。   在中间 、我没有发送 ack_confirm、在外设中、我接收 ATT_Handle_value_CFM、状态为 bleTimeout。 以上都是对的?  之后, 使用 GATT_Indication 将返回失败。  什么,什么????  如果中心不发送 ACK_CONFIRM,则意味着外设不使用 GATT_INDICENTER ?

第二个问题。 在温度计项目中。

//验证/写入中间测量设置。
否则(pAttr->Handle == thermeterAttrTbl[thermeter_IMEAS_char_config_POS].handle)

状态= GATTServApp_ProcessCCCWriteReq (connHandle、pAttr、pValue、len、
偏移量、GATT_CLIENT_CFG_NOTIFY);
if (status == Success)(如果(状态==成功))

uint16_t value = build_uint16 (pValue[0]、pValue[1]);

//通知应用程序。
if (热电偶服务 CB!=空)

(*热敏电阻 ServiceCB)((值=GATT_CFG_NO_OPERATION)?
温度计_IMEAS_NOTI_DISABLED:
温度计_IMEAS_NOTI_ENABLED);


为什么在  GATTServApp_ProcessCCCWriteReq 之后调用热电偶 ServiceCB 函数????  热敏电流服务 CB 将在  应用程序中再次调用 GATT_Indication。。。 什么????

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

    您好!

    是的、指示要求 GATT 客户端发送确认。 如果不需要发送 ACK、则可以使用通知。  

    对于温度计项目、应由应用程序何时发送通知/指示、以便您可以修改回调在应用程序中的作用。

    祝你一切顺利

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于第一个问题。如果中心没有发送 ACK,则外围设备不能使用 GATT_Indication 并返回故障。 这意味着外设将阻止并紧张地使用 GATT_Indication util 接收 ACK。 对吧??