如何从特征BLE / BLUENRG-M2中读取值?

问题描述

美好的一天。

我对BLE还是很陌生,很难掌握它。 我使用的是ST X-Nucleo-BNRG2A1随附的Sensor Demo示例。 我现在有一个定制板,其中BlueNRG-M2与STM32F030C8T6(SPI)作为协处理器。

电子设备通过多种特性从应用程序接收命令,并且根据命令,uC将启用/禁用TRIAC和继电器。有3个ADC通道,将对其进行轮询并将值写入3个特性。效果很好。

我发出了读取应用编写的值的问题。 根据我的调查,应该可以使用以下命令进行读取:

aci_gatt_read_char_value(); 

aci_gatt_read_using_char_uuid();

但是它们两个都只返回BLE状态(并且我得到0x47的错误)。 如何读取值?编程指南中提到了事件。我该如何解决?

tBleStatus Read_ProgramID(void)
{
  tBleStatus ret;
  ret = aci_gatt_read_char_value(connection_handle,ProgramIDHandle+1);
  if (ret != BLE_STATUS_SUCCESS){
    PRINT_DBG("Error while reading ProgramID characteristic: 0x%02X\n",ret) ;
    return BLE_STATUS_ERROR ;
  }
  return BLE_STATUS_SUCCESS;
}

connection_handle用0x801和ProgramIDHandle 0x16编写。

任何信息,提示和/或帮助将不胜感激。

非常感谢

最诚挚的问候

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...