SDK:3.0.6
我使用sample128.c档案,
当中心写样本128查克......,我会收到消息:gattc_write_cmd_ind,然后进入gattc_write_cmd_ind_handler,它很好。
我想知道,如果中心(智能手机,或其他)通过uuid读取特征,我应该收到消息:gattc_read_cmd对吗?
所以我添加了代码:
///连接状态处理程序定义。
const struct ke_msg_handler sample128_connected [] =
{
{gattc_write_cmd_ind,(ke_msg_func_t)gattc_write_cmd_ind_handler},
{sample128_upd_char2_req,(ke_msg_func_t)sample128_upd_char2_req_handler},
{gattc_read_cmd,(ke_msg_func_t)sample128_read_ind_handler},
};
Q1:但是,函数sample128_read_ind_handler(...)从未调用〜?为什么?(我们只能接收gattc_write_cmd_ind消息吗?)
Q2:我想接收以下消息:gattc_exc_mtu_cmd,gattc_disc_cmd.and,依此类推,如何进行?
谢谢你的帮助。
关键词:
设备:
嗨,
当客户端尝试读取数据时,您将不会从堆栈中收到GattC_Read_cmd_ind。读取命令旨在直接从GATT数据库读取数据,以便节省电量。因此,您无选项可选择以这种方式检测读取。将GATT层视为数据库 - 数据可根据要求提供给客户端,通常不会根据请求生成。
Avilable GATT API在RW-BLE-GATT-IS文档中描述。gattc_exc_mtu_cmd和gattc_disc_cmd是客户端可以发送给服务器的命令。对服务器端上的那些命令的响应自动由堆栈处理。
命名约定如下(原始名称的末尾,或消息名称,如果您喜欢):
_cmd,这是您可以发送的命令(示例gattc_read_cmd)
_req,非常喜欢命令
_ind,这是一个指示/事件,您可以使用处理程序(响应CMD)
_evt,非常喜欢迹象
_RSP,对_REQ的响应
我希望在此事上揭示一下
嗨,mhv_dialog
谢谢你的回复!
我有另一个问题:我创建了Sample128个人资料(并且它运作良好)。我希望DA14580成为中心角色,它可以发现样品128配置文件,并读写写字。
有任何一个例子吗?(我找到了proxm.c proxm_task.c,但它不是我的Enougth。)。谢谢。
嗨石头,
不幸的是没有示例或教程关于128个样本在核心作用中,但是您可以检查主机侧的DSP参考设计,因为DSPS服务是根据128个人资料的配置文件,您可以使用此功能才能开发主机基于自定义配置文件。
谢谢mt_dialog.
嗨mt_dialog.
感谢您的回复,我有另一个关于Extern_Sleep的问题,
Q1,当设备在extern睡眠模式下工作时,并与Android连接。(设备将无法进入Extern_sleep模式?)。
嗨石头,
我不知道我在已了解连接间隔之间或之间的问题,我认为你的意思是当设备在延长睡眠模式下运行....当设备在休眠模式下运行它落入睡眠(延长或深)广告间隔在广告模式中。
谢谢mt_dialog.