了解更多常见问题教程

15个职位/0个新职位
最后一篇文章
hdr公司
离线
最后一次见到:2个月1周前
已加入:2019-06-11 14:08
BLE中心写入

你好,团队对话,

我已经写了一个基于bleèu中心项目的程序,它可以找到具有特殊名称或MAC地址的ble设备。
如果找到一个设备,我连接到它,然后写进一个特征。
我的问题是:
每次尝试写入外设时,写入完成事件的状态都是3(ATT\ u ERROR\ u write\ u NOT\ u allowed)。
当我尝试用我的手机通过nRF连接应用程序,我可以读写没有任何问题。
作为外设试用过一个树莓皮,我的手机和一个对话框14680。
每次状态为3时。

printf(“start write\r\n”);uint16\r\n*mtu=0;ble\u gattc\u get\u mtu(evt->conn\u idx,mtu);printf(“mtu Rate:%u\r\n”,*mtu);uint8\u t test=0x00;printf(“uuid:%s\r\n”,format\u uuid(&charact[0].uuid));printf(“write\r\n”);ble\u gattc\u write(evt->conn\u idx,charact[0].handle,false,sizeof(test),&test);

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

非常感谢你事先的努力。

致以最诚挚的问候

HDR公司

关键词:
设备:
PM\U对话框
离线
最后一次见到:2天20小时前
工作人员
已加入:2018-02-08 11:03
嗨,hdr,

嗨,hdr,

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

谢谢,下午好

hdr公司
离线
最后一次见到:2个月1周前
已加入:2019-06-11 14:08
我用了一个覆盆子派

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

阿历克斯·简
离线
最后一次见到:2个月2周前
已加入:2019-08-28 10:14
高hdr

高hdr

我也有同样的要求

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

谢谢

hdr公司
离线
最后一次见到:2个月1周前
已加入:2019-06-11 14:08
如果我明白的话

如果我理解正确,当我调用ble\u gattc\u Write并且它已经被执行时,就会调用Write\u Completed\u事件。如果我得到了conn\u idx,处理程序和状态码。在我的例子中,状态码是3,表示ATT\u ERROR\u WRITE\u NOT \u allowed。

为了描述如何使用事件,我将参考bleèu中心示例项目。

阿历克斯·简
离线
最后一次见到:2个月2周前
已加入:2019-08-28 10:14
高hdr

高hdr

我还使用ble\u gattc\u write,并将write\u Completed\u事件添加到app\u task.c中,如下所示,ble\u gattc\u write Completed时是否正确??

静态常量结构ke\u msg\u处理程序app\u gap\u进程\u处理程序[]=
{
{GAPM\u DEVICE\u READY\u IND,(ke\u msg\u func\t)GAPM\u DEVICE\u READY\u IND\u handler},
{GAPM\u CMP\u EVT,(ke\u msg\u func\t)GAPM\u CMP\u EVT\u handler},
{GAPC\u CMP\u EVT,(ke\u msg\u func\t)GAPC\u CMP\u EVT\u handler},
{GAPC\u CONNECTION\u REQ\u IND,(ke\u msg\u func\t)GAPC\u CONNECTION\u REQ\u IND\u handler},
{GAPC\u DISCONNECT\u IND,(ke\u msg\u func\t)GAPC\u DISCONNECT\u IND\u handler},
{GAPC\ u GET\ u DEV\ u INFO\ u REQ\ u IND,(ke\ u msg\ u func\ t)GAPC\ u GET\ u DEV\ u INFO\ u REQ\ u IND\ u handler},
{GAPC\ u SET\ u DEV\ u INFO\ u REQ\ u IND,(ke\ u msg\ u func\ t)GAPC\ u SET\ u DEV\ u INFO\ u REQ\ u IND\ u handler},
{GAPM\u PROFILE\u ADDED\u IND,(ke\u msg\u func\t)GAPM\u PROFILE\u ADDED\u IND\u handler},
{GAPM\u ADV\u REPORT\u IND,(ke\u msg\u func\t)GAPM\u ADV\u REPORT\u IND\u handler},
{GAPC_PARAM_UPDATE_REQ_IND,(ke_msg_func_t)GAPC_PARAM_UPDATE_REQ_IND_handler},
{GAPC\u LE\u PKT\u SIZE\u IND,(ke\u msg\u func\t)GAPC\u LE\u PKT\u SIZE\u IND\u handler},
{GAPC\u CON\u RSSI\u IND,(ke\u msg\u func\u t)GAPC\u get\u CON\u RSSI\u IND\u handler},//Alex Add 20191030
{GATTC\u READ\u IND,(ke\u msg\u func\t)app\u READ\u IND\u handler},//alex test 2020 0710
{GATTC\u SDP\u SVC\u IND,(ke\u msg\u func\t)app\u disc\u all\u SVC},//亚历克斯测试2020 0710
{GATTC\u CMP\u EVT,(ke\u msg\u func\t)alex\u GATTC\u CMP\u EVT\u handler},//alex test 2020 0716
//{GAPC\u PEER\u ATT\u INFO\u IND,(ke\u msg\u func\t)app\u read\u dev\u ver\u IND\u handler},//亚历克斯测试2020 0710

#如果(应用秒)
{GAPC\u SECURITY\u IND,(ke\u msg\u func\t)GAPC\u SECURITY\u IND\u handler},
#结束
};

hdr公司
离线
最后一次见到:2个月1周前
已加入:2019-06-11 14:08
我想你用的是另一个SDK

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

PM\U对话框
离线
最后一次见到:2天20小时前
工作人员
已加入:2018-02-08 11:03
嗨,hdr,

嗨,hdr,

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

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

你能检查一下这个特征(在外围)是否有写权限吗?如果是,那么我建议再次检查中心(DA14682)是否写入了正确的处理程序(charact[0].handle)。

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

谢谢,下午好

hdr公司
离线
最后一次见到:2个月1周前
已加入:2019-06-11 14:08
你好,

你好,

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

静态空句柄\u evt\u gattc\u discover\u char(ble\u evt\u gattc\u discover\u char\u t*evt){。。。如果(ble|uuid|equal(&evt->uuid,&list| uuid|equal(&evt->uuid,&list|uuid|nb)){charact[0].handle=evt->handle;charact[0].uuid=evt->uuid;}。。。}

下面是对话框14682的代码(相同的结果状态为3):

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

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

PM\U对话框
离线
最后一次见到:2天20小时前
工作人员
已加入:2018-02-08 11:03
嗨,亚历克斯,

嗨,亚历克斯,

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

谢谢,下午好

PM\U对话框
离线
最后一次见到:2天20小时前
工作人员
已加入:2018-02-08 11:03
嗨,hdr,

嗨,hdr,

桑斯克回来了。你能不能提供一个可识别的嗅探器捕获/

谢谢,下午好

hdr公司
离线
最后一次见到:2个月1周前
已加入:2019-06-11 14:08
你好,

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

PM\U对话框
离线
最后一次见到:2天20小时前
工作人员
已加入:2018-02-08 11:03
嗨,hdr,

嗨,hdr,

是的,任何进一步的意见都会很有帮助。

谢谢,下午好

hdr公司
离线
最后一次见到:2个月1周前
已加入:2019-06-11 14:08
你好,

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

非常感谢你

hdr公司

PM\U对话框
离线
最后一次见到:2天20小时前
工作人员
已加入:2018-02-08 11:03
嗨,hdr,

嗨,hdr,

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

谢谢,下午好