可变中心写入

⚠️
你好。。谢谢你来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
15个员额/0个新员额
最后一篇文章
hdr
离线
最后一次见到:10个月22小时前
加入:2019-06-11 14:08
可变中心写入

你好,团队对话,

我已经基于ble_central项目编写了一个程序,该程序可以查找具有特殊名称或MAC地址的ble设备。
如果找到一个设备,我连接到它,然后我写入一个特征。
我的问题是:
每次我尝试写入外设时,写入完成事件的状态为3(ATT_ERROR_write_NOT_PROMITED)。
当我尝试通过nRF Connect应用程序使用手机时,我可以毫无问题地读写。
作为外设试用过一个覆盆子圆周率,我的手机和一个对话14680。
每次状态为3时。

printf(“开始写入\r\n”);uint16_t*mtu=0;ble_gattc_get_mtu(evt->conn_idx,mtu);printf(“MTU速率:%u\r\n”,*MTU);uint8_t测试=0x00;printf(“uuid:%s\r\n”,格式为\u uuid(&charact[0].uuid));printf(“写入\r\n”);ble_gattc_write(evt->conn_idx,字符[0]。句柄,false,sizeof(test),&test);

Character[0]包含来自该特征的处理程序。

非常感谢您事先的努力。

顺致敬意,

HDR

设备:
PM_对话框
离线
最后一次见到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨,hdr,

嗨,hdr,

感谢您在我们的公共论坛上提出的问题。你能指出外设是什么吗?是另一个DA14682吗?

谢谢,下午好

hdr
离线
最后一次见到:10个月22小时前
加入:2019-06-11 14:08
我用了一个覆盆子皮

我使用了一个带有PyBluez的覆盆子Pi作为外设,我的手机带有上面提到的应用程序和一个对话框14680。我现在正在尝试DA 14682,因为我无法访问14680,因为该设备已封装。

亚历克斯·简
离线
最后一次见到:3个月3周前
加入:2019-08-28 10:14
嗨,hdr

嗨,hdr

我也有同样的要求

你能告诉我什么是写入完成事件以及如何使用吗??

谢谢

hdr
离线
最后一次见到:10个月22小时前
加入:2019-06-11 14:08
如果我明白的话

如果我理解正确,当我调用ble_gattc_Write并且它已经执行时,就会调用Write_Completed_事件。如果我得到conn_idx、处理程序和状态代码。在我的例子中,状态代码是3,表示ATT_ERROR_WRITE_NOT_allowed。

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

亚历克斯·简
离线
最后一次见到:3个月3周前
加入:2019-08-28 10:14
嗨,hdr

嗨,hdr

我还使用ble_gattc_write,并将write_Completed_事件添加到app_task.c中,如下所示,ble_gattc_write Completed时是否正确??

静态const struct ke_msg_handler app_gap_process_handler[]=
{
{GAPM_设备准备就绪_IND,(ke_msg_func_t)GAPM_设备准备就绪_indu handler},
{GAPM_CMP_EVT,(ke_msg_func_t)GAPM_CMP_EVT_handler},
{GAPC_CMP_EVT,(ke_msg_func_t)GAPC_CMP_EVT_handler},
{GAPC_连接_请求_IND,(ke_msg_func_t)GAPC_连接_请求_indu handler},
{GAPC_DISCONNECT_IND,(ke_msg_func_t)GAPC_DISCONNECT_IND_handler},
{GAPC_GET_DEV_INFO_REQ_IND,(ke_msg_func_t)GAPC_GET_DEV_INFO_REQ indu handler},
{GAPC_SET_DEV_INFO_REQ_IND,(ke_msg_func_t)GAPC_SET_DEV_INFO_REQ indu handler},
{GAPM_PROFILE_ADDED_IND,(ke_msg_func_t)GAPM_PROFILE_ADDED_IND handler},
{GAPM_ADV_REPORT_IND,(keu msg_func_t)GAPM_ADV_REPORT_IND_handler},
{GAPC_PARAM_UPDATE_REQ_IND,(ke_msg_func_t)GAPC_PARAM_UPDATE_REQ_IND_handler},
{GAPC_LE_PKT_SIZE_IND,(ke_msg_func_t)GAPC_LE_PKT_SIZE_IND_handler},
{GAPC_CON_RSSI_IND,(ke_msg_func_t)GAPC_get_CON_RSSI_IND_handler},//Alex Add 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

#如果(可编程应用程序秒)
{GAPC_SECURITY_IND,(keu msg_func_t)GAPC_SECURITY_indu handler},
#恩迪夫
};

hdr
离线
最后一次见到:10个月22小时前
加入:2019-06-11 14:08
我想你用的是另一个SDK

我想你用的是另一个SDK和对话芯片。

PM_对话框
离线
最后一次见到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨,hdr,

嗨,hdr,

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

“如果由于权限原因无法写入属性值,则应发送错误响应,错误代码为«写入不允许»。”

请检查特征(在外围)是否具有写入权限?如果是,我建议再次检查中央处理器(DA14682)是否写入了正确的处理程序(charact[0].handle)。

此外,拥有一个BLE嗅探器日志将非常有帮助,这样我们就可以了解空中发生了什么。

谢谢,下午好

hdr
离线
最后一次见到:10个月22小时前
加入:2019-06-11 14:08
你好

你好

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

静态无效句柄(ble_-evt_-gattc_-discover_-char_-t*evt){…如果(ble_-uuid_-equal(&evt->uuid,&list_-uuid)}ble_-uuid_-equal(&evt->uuid,&list_uid,&list_uid)){charact[0]。handle=evt->handle charact[0]。uuid=evt->uuid;}

以下是对话框14682外围设备中的代码(相同的结果状态为3):

从字符串(“6e400002-b5a3-f393-e0a9-E50E24DCA9F”和uuid)中删除uuid;ble\u gatts\u add\u特性(uuid、GATT\u PROP\u WRITE、ATT\u PERM\u RW、1、0、NULL、NULL);

用我的手机我可以写下这个特征。

PM_对话框
离线
最后一次见到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨,亚历克斯,

嗨,亚历克斯,

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

谢谢,下午好

PM_对话框
离线
最后一次见到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨,hdr,

嗨,hdr,

坦斯克从后面回来。你能提供一个BLE嗅探捕捉器吗/

谢谢,下午好

hdr
离线
最后一次见到:10个月22小时前
加入:2019-06-11 14:08
你好

你好
不幸的是,我们没有嗅探的可能。
如果我们发现任何新信息,我们将继续搜索错误并与您联系。

PM_对话框
离线
最后一次见到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨,hdr,

嗨,hdr,

是的,任何进一步的输入都会很有帮助。

谢谢,下午好

hdr
离线
最后一次见到:10个月22小时前
加入:2019-06-11 14:08
你好

你好
非常感谢你的帮助。我发现了我的错误。
我的处理方法确实错了。我应该在handle\u evt\u gattc\u discover\u char方法中将evt->value\u handle分配给句柄。

非常感谢你

hdr

PM_对话框
离线
最后一次见到:1周3天前
工作人员
加入:2018-02-08 11:03
嗨,hdr,

嗨,hdr,

很高兴你发现了这一点,谢谢你的提示。

谢谢,下午好