⚠️
大家好. .谢谢你来参加论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,并包含在Dialog主网站中。所有的帖子和账户都已迁移。我们现在只接受新论坛的流量-请张贴任何新的线程//www.xmece.com/support.我们将在未来几天修复漏洞/优化搜索和标签。
15个岗位/ 0个新岗位
最后发表
hdr
离线
最后看到:10个月21小时前
加入:2019-06-11 14:08
中央写入

你好,团队对话,

我写了一个基于ble_central项目的程序,它可以找到具有特殊名称或MAC地址的BLE设备。
如果找到一个设备,我就连接到它,然后写入一个特性。
我的问题是:
每次我尝试写入外围设备时,在写入完成事件时,状态为3 (att_error_write_not_allowed)。
当我尝试用我的手机通过nRF Connect App来做这件事时,我可以毫无问题地读写。
我试用了树莓派、我的手机和Dialog 14680作为外设。
每次状态都是3。

printf("开始写\ r \ n ");Uint16_t * mtu = 0;ble_gattc_get_mtu (evt - > conn_idx、mtu);printf("MTU Rate: %u\r\n", * MTU);Uint8_t test = 0x00;printf (" uuid: % s \ r \ n”,format_uuid(生产[0].uuid));printf(“写\ r \ n”);ble_gattc_write (evt - > conn_idx,生产[0]。Handle,false, sizeof(test),&test);

charact[0]包含了来自feature的处理程序。

非常感谢您的努力。

致以最亲切的问候

HDR

关键词:
设备:
PM_Dialog
离线
最后看到:1周前3天前
工作人员
加入:2018-02-08 11:03
嗨hdr,

嗨hdr,

感谢您在我们的公共BLE论坛上提出的问题。请问周边设备是什么?另一个是DA14682吗?

谢谢,PM_Dialog

hdr
离线
最后看到:10个月21小时前
加入:2019-06-11 14:08
我用过树莓派

我使用了带有PyBluez的树莓派作为外围设备,我的手机带有上述应用程序和Dialog 14680。我现在正在尝试DA 14682,因为我无法访问14680,因为设备已安装。

alex.jian
离线
最后看到:3个月前3个星期前
加入:2019-08-28 14
嗨hdr

嗨hdr

我也有同样的要求

你能告诉我什么是写完成事件和如何使用??

谢谢

hdr
离线
最后看到:10个月21小时前
加入:2019-06-11 14:08
如果我明白了

如果我正确地理解了这一点,当我调用ble_gattc_write并且它已经执行时,Write_Completed_Event被调用。在返回conn_idx、处理程序和状态代码的情况下。在我的例子中,状态代码是3,代表att_error_write_not_allowed。

为了描述如何使用该事件,我将参考ble_central示例项目。

alex.jian
离线
最后看到:3个月前3个星期前
加入:2019-08-28 14
嗨hdr

嗨hdr

我也使用ble_gattc_write和我添加Write_Completed_Event到app_task.c如下,这是正确的时候ble_gattc_write完成??

静态常量结构ke_msg_handler app_gap_process_handlers[]=

(ke_msg_func_t) gapm_device_ready_ind_handler}, {GAPM_DEVICE_READY_IND
(ke_msg_func_t) gapm_cmp_evt_handler}, {GAPM_CMP_EVT
(ke_msg_func_t) gapc_cmp_evt_handler}, {GAPC_CMP_EVT
(ke_msg_func_t) gapc_connection_req_ind_handler}, {GAPC_CONNECTION_REQ_IND
(ke_msg_func_t) gapc_disconnect_ind_handler}, {GAPC_DISCONNECT_IND
(ke_msg_func_t) gapc_get_dev_info_req_ind_handler}, {GAPC_GET_DEV_INFO_REQ_IND
(ke_msg_func_t) gapc_set_dev_info_req_ind_handler}, {GAPC_SET_DEV_INFO_REQ_IND
(ke_msg_func_t) gapm_profile_added_ind_handler}, {GAPM_PROFILE_ADDED_IND
(ke_msg_func_t) gapm_adv_report_ind_handler}, {GAPM_ADV_REPORT_IND
(ke_msg_func_t) gapc_param_update_req_ind_handler}, {GAPC_PARAM_UPDATE_REQ_IND
(ke_msg_func_t) gapc_le_pkt_size_ind_handler}, {GAPC_LE_PKT_SIZE_IND
{GAPC_CON_RSSI_IND, (ke_msg_func_t)gapc_get_con_rssi_ind_handler}, //Alex添加20191030
{GATTC_READ_IND, (ke_msg_func_t)app_read_ind_handler}, //alex test 2020 0710
{GATTC_SDP_SVC_IND, (ke_msg_func_t)app_disc_all_svc}, //alex test 2020 0710
{GATTC_CMP_EVT, (ke_msg_func_t)alex_gattc_cmp_evt_handler},//alex test 2020 0716
//{GAPC_PEER_ATT_INFO_IND, (ke_msg_func_t)app_read_dev_ver_ind_handler}, //alex test 2020 0710

#如果(BLE_APP_SEC)
(ke_msg_func_t) gapc_security_ind_handler}, {GAPC_SECURITY_IND
# endif
};

hdr
离线
最后看到:10个月21小时前
加入:2019-06-11 14:08
我认为你使用了另一个SDK

我认为你使用的是另一个SDK和Dialog-Chip。

PM_Dialog
离线
最后看到:1周前3天前
工作人员
加入:2018-02-08 11:03
嗨hdr,

嗨hdr,

感谢您的详细回复。根据蓝牙LE规范:

如果由于权限原因不能写入属性值,则将发送错误响应,错误代码为«Write Not allowed»。”

请检查一下这个特性(在外围端)是否有写权限?如果是,那么我建议仔细检查中央(DA14682)是否写入正确的处理程序(字符[0].handle)。

此外,拥有BLE嗅探日志将非常有帮助,这样我们就可以了解空中正在发生的事情。

谢谢,PM_Dialog

hdr
离线
最后看到:10个月21小时前
加入:2019-06-11 14:08
你好,

你好,

外设中的特征具有写权限,处理程序应该是正确的。

静态void handle_evt_gattc_discover_char(ble_evt_gattc_discover_char_t *evt){…If (ble_uuid_equal(&evt->uuid, &list_uuid) || ble_uuid_equal(&evt->uuid, &list_uuid_nb)) {charact[0]。句柄= evt->句柄;生产[0]。Uuid = evt-> Uuid;}……}

下面是我的代码从Dialog 14682外设(相同的结果状态是3):

ble_uuid_from_string(“6 e400002-b5a3-f393-e0a9-e50e24dcca9f”,uuid);ble_gatts_add_characteristic(&uuid,GATT_PROP_WRITE, ATT_PERM_RW, 1,0, NULL, NULL);

用我的手机,我可以写的特点。

PM_Dialog
离线
最后看到:1周前3天前
工作人员
加入:2018-02-08 11:03
嗨,亚历克斯,

嗨,亚历克斯,

谢谢你的评论,但请提出另一个论坛线程。具体论坛主题与DA14682和SDK1.0.14相关。据我所知,你在设计中使用的是DA14585和SDK6,所以请用你的问题重新创建一张票。

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:1周前3天前
工作人员
加入:2018-02-08 11:03
嗨hdr,

嗨hdr,

谢谢你回来了。你能提供BLE嗅探器捕获/吗

谢谢,PM_Dialog

hdr
离线
最后看到:10个月21小时前
加入:2019-06-11 14:08
你好,

你好,
不幸的是,我们无法嗅探BLE。
我们将继续查找错误,如果有任何新的信息,我们将与您联系。

PM_Dialog
离线
最后看到:1周前3天前
工作人员
加入:2018-02-08 11:03
嗨hdr,

嗨hdr,

好的,请,任何进一步的输入将是非常有用的。

谢谢,PM_Dialog

hdr
离线
最后看到:10个月21小时前
加入:2019-06-11 14:08
你好,

你好,
非常感谢你的帮助。我发现了我的错误。
我的手柄确实错了。我应该将evt->value_handle分配给handle_evt_gattc_discover_char方法中的句柄。

非常感谢

hdr

PM_Dialog
离线
最后看到:1周前3天前
工作人员
加入:2018-02-08 11:03
嗨hdr,

嗨hdr,

很高兴你明白了这一点,谢谢你的提示。

谢谢,PM_Dialog