打印
[BlueNRG]

Bluenrg_为啥我无法添加自己的服务或者特征值

[复制链接]
348|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qqjmjso|  楼主 | 2024-7-14 21:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一添加就失败

使用特权

评论回复
沙发
xiaoqi000| | 2024-7-26 13:30 | 只看该作者
确保在添加服务和特征值之前,已正确初始化蓝牙堆栈和设备。通常的初始化步骤包括:

启动设备。
重置设备。
配置蓝牙堆栈。
设置设备地址。

使用特权

评论回复
板凳
xiaoqi000| | 2024-7-26 13:30 | 只看该作者
确保服务和特征值的定义符合蓝牙规范。以下是添加服务和特征值的基本步骤:

添加服务
c

tBleStatus ret;
uint16_t service_handle;
const uint8_t service_uuid[16] = { /* Your 128-bit UUID */ };

ret = aci_gatt_add_serv(UUID_TYPE_128, service_uuid, PRIMARY_SERVICE, 7, &service_handle);
if (ret != BLE_STATUS_SUCCESS) {
    // Handle error
}

使用特权

评论回复
地板
xiaoqi000| | 2024-7-26 13:31 | 只看该作者
添加特征值
c
uint16_t char_handle;
const uint8_t char_uuid[16] = { /* Your 128-bit UUID */ };

ret = aci_gatt_add_char(service_handle, UUID_TYPE_128, char_uuid, 20, CHAR_PROP_READ | CHAR_PROP_WRITE, ATTR_PERMISSION_NONE, GATT_DONT_NOTIFY_EVENTS, 16, 1, &char_handle);
if (ret != BLE_STATUS_SUCCESS) {
    // Handle error
}

使用特权

评论回复
5
xiaoqi000| | 2024-7-26 13:31 | 只看该作者
检查错误代码
在调用蓝牙堆栈API时,检查返回的错误代码。常见的错误代码及其含义包括:

BLE_STATUS_SUCCESS: 操作成功。
BLE_STATUS_FAILED: 操作失败,一般是由于参数错误或资源不足。
BLE_STATUS_INVALID_PARAMS: 参数无效,检查UUID、长度等参数是否正确。
BLE_STATUS_OUT_OF_MEMORY: 内存不足,检查是否有足够的内存分配给蓝牙堆栈。

使用特权

评论回复
6
纠结的那些年| | 2024-7-26 13:32 | 只看该作者
确保系统有足够的内存和资源分配给蓝牙堆栈。BlueNRG设备有内存限制,如果内存不足,可能导致添加服务或特征值失败。

使用特权

评论回复
7
纠结的那些年| | 2024-7-26 13:33 | 只看该作者
BlueNRG库通常提供调试功能,可以输出详细的操作日志。

使用特权

评论回复
8
纠结的那些年| | 2024-7-27 21:19 | 只看该作者
重置设备(硬件或软件重置)可以解决问题。在尝试添加服务和特征值之前,确保设备处于已知的初始状态。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

66

帖子

1

粉丝