你好,Dialog
在我的项目中,基于空模板(sdkv5.0.2.1),我有两个具有指示属性的特性(自定义服务)。我在下一个代码中从我的设备(服务器或外围设备角色)发送指示的消息:
struct custs1\u val\u ind\u req*req\u 1=KE\u MSG\u ALLOC\u DYN(custs1\u val\u ind\u req,
任务\客户1,任务\应用程序,
客户需求、定义客户测试(字符);
struct custs1\u val\u ind\u req*req\u 2=KE\u MSG\u ALLOC\u DYN(custs1\u val\u ind\u req,
任务\客户1,任务\应用程序,
客户1(val ind req,DEF CUST1(测试2(字符));
//将数据复制到char\ u值并发送消息
需求->控制盘=应用环境->控制盘;
请求->句柄=CUST1\U IDX\U TEST\U VAL;
需求->长度=定义客户测试字符长度;
memcpy(请求->值,测试数据接收[31],定义客户测试字符);
发送消息(请求1);
//将数据复制到char\ u值并发送消息
需求2->控制盘=应用环境->控制盘;
req\ U 2->handle=CUST1\ U IDX\ U TEST\ U 2\ VAL;
需求2->长度=定义客户1\u测试2\u字符长度;
memcpy(请求->值,测试数据接收[11],定义客户1测试字符2);
发送消息(请求2);
这段代码放置在回调函数中,我在拱形主环_callbacks.app\u on \u ble\u通电
.
UART从PC(prox\u monitor\u ext project)控制的第二个设备(客户端或中心角色)。当我通过指示报文接收数据时,我在UART上看到指示报文在两个连接间隔(连接间隔设置为10ms)内逐个发送,即两个指示报文之间的间隔时间约为20-22ms。
现在,问题是:
1我是否可以在一个时间段内发送两条指示信息?
2我怎样才能确认?我没有看到解析此事件的函数或消息
三。我读了下一段文字“注册或注销对等设备事件,如特定服务上的指示或通知”
专用连接上的属性句柄范围。'关于GATTC \u REG \u TO \u PEER \u EVT \u CMD,但我不完全理解它们的含义。你能解释一下这是什么意思吗?
如果你需要,我可以从逻辑分析仪窗口加载一个屏幕截图。
谢谢,贝斯尔的常客们。
嗨,Chemax,
有指示的问题是,外设需要确认才能发送下一个指示,因此不能同时发送两个指示,因为主设备必须首先确认第一个指示。指示确认是一个GATTC\u CMP\u EVT,它触发CUSTS1\u VAL\u IND\u CFM,并由user\u catch\u rest\u hndl()函数处理。使用特定消息的函数,它们被用来在客户机上为特定特性提供其通知或指示属性。它表示此特定特征具有通知。
谢谢,马里奥
特纳克斯·马里奥斯,
你的回答对我很有帮助。
向你问好,麦克斯