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.

[参考译文] CC2540:CC2540、CC2541、回调、BLE

Guru**** 2535820 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/635128/cc2540-cc2540-cc2541-callbacks-ble

器件型号:CC2540

您好!

如果用一个字节更改了特征值、我已经完成了回调。  

我为长特性值制作了相同的代码、但遇到了问题、回调不起作用。 是使用 long characterizitcs 进行回调的示例吗?  

我想发送时间、并在下面附上一些代码。

表:

(笑声)
//***** 日期时间 CHARCACTERISTIC *******
//特征日期时间声明
{
{ATT_BT_UUUART_SIZE、characterUUID}、
GATT_permit_read、
0、
sgTimeProps (&S)
}、

//特征值日期时间
{
{ATT_BT_UUUART_SIZE、DateTimeUUID}、
GATT_permit_write|GATT_permit_read、
0、
sgDateTime
}、
//特征日期时间配置
{
{ATT_BT_UUID_SIZE、clientCharCfgUUID}、
GATT_permit_read | GATT_permit_write、
0、
(uint8 *)&sgDateTimeConfig
}、
//特性日期时间描述
{
{ATT_BT_UUUART_SIZE、charUserDescUUID}、
GATT_permit_read、
0、
sgTimeDesp
},
... 

添加服务功能:

(笑声)
//分配客户端特征配置表
sgDateTimeConfig =(gattCharCfg_t *) osal_mem_alloc (sizeof (gattCharCfg_t)*
linkDBNumConns );
if ( sgDateTimeConfig == NULL )
{
return (bleMemAllocError);
}//
初始化客户端特征配置属性
GATTServApp_InitCharCfg (invalid_CONNNANDLE、sgDateTimeConfig);

//使用 GATT Server 应用程序注册 GATT 属性列表和 CBS
状态= GATTServApp_RegisterService (SmartGripAttrTbl、
GATT_NUM_ATTRS (SmartGripAttrTbl),
GATT_MAX_encrypt_key_size、
sgCBs);
(&S)... 

ReadAttrCB

(笑声)
交换机(uuid )...

案例 SG_DATE_TIME_UUID:
* PLEN = DATE_TIME_CHAR_LEN;
void memcpy (pValue、pAttr->pValue、date_time_char_LEN);
中断;
... 

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

    我无法调试您的代码段、但我建议使用 CC 调试器在 BLE 堆栈调用该代码时单步执行回调、并查看其运行不正常的原因。

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

    我尝试执行此操作、但不调用回调。 如果要读取新数据或将新数据连接到 long 特征、则不会调用回调。 如果尝试读取或写入单字节字符、则一切正常。

    多个字节特征是否正确(我不知道什么是"linkDBNumConns")

    //分配客户端特征配置表
    sgDateTimeConfig =(gattCharCfg_t *) osal_mem_alloc (sizeof (gattCharCfg_t)*
    linkDBNumConns ); 

    此外、我尝试将新数据写入几个字节特征、但没有完成。 特征值返回起始值而不保存。

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

    BLE Device Monitor 写入低电平:

    "

    16:44:30.567 >未实现长度 gt 2的写入属性

    16:44:30.567 > Attr 已编辑、67 01:00:00:00:00:00:00"

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我找到了解决方案。 我刚刚将 BLE DM 更新为2.7版。