2个员额/0个新员额
最后一篇文章
王石
离线
最后一次见到:1周16小时前
加入:2015-10-23 03:55
DA14580作为主机

SDK3.0.6
采用DA14580作为主机与一个DA14580从机,进行通信。
采用官方提供的样本128.c.h等文件,
主机端与从机端可以成功连接,并且主机端可以发送数据给从机端。
问题:从机端发送数据给主机端不成功。
外围设备端的通知处理:
//检查提供的值
if(param->conhdl==gapc\u get\u conhdl(sample128\u env.con\u info.conidx))
{
//以DB为单位更新值
attmdb_att_set_值(样本128_env.sample128_shdl+样本128_2_IDX_VAL,
sizeof(uint8\u t),(uint8\u t*)和参数->值;

if((示例128_env.feature&PRF_CLI_START_NTF))
//通过关贸总协定发送通知
prf_服务器发送事件((prf_环境结构*)&样本128_环境,false,
样本128_env.sample128_shdl+sample128_2_IDX_VAL);
}
从机端按照文档是否会调用GATTC_事件_IND命令?因此添加代码如下:
//连接状态处理程序定义。
const struct ke_msg_handler sample128m_connected[]=
{
{SAMPLE128M_RD_CHAR_1_REQ,(ke_msg_func_t)SAMPLE128M_RD_CHAR_1_REQ_handler},
{SAMPLE128M_WR_CHAR_1_REQ,(ke_msg_func_t)SAMPLE128M_WR_CHAR_1_REQ_handler},
{GATTC_READ_IND,(ke_msg_func_t)GATTC_READ_indu handler},
{GATTC_EVENT_IND,(ke_msg_func_t)GATTC_EVENT_indu handler},
};
但,都不会调用gattc_事件_ind_处理程序这个函数。我这样做对吗?
另,从机端已经使用手机端测试。手机端可以写数据也可以接受从机端发来的数据。(说明从机端轮廓配置应该是没问题的)。
谢谢,你们的回答。

设备:
白雪梦1
离线
最后一次见到:10个月1周前
工作人员
加入:2014-08-17 14:25
简单归纳,就是拿手机主动发起连接DA14580服务建立后

简单归纳,就是拿手机主动发起连接DA14580服务建立后,可以进行写操作,也可以接收580过来的通知数据。但是拿另一台580替换手机,则只能进行写操作,无法收到通知数据?对吧?

如果是,你可以参考客户端的代码,比如glpc_task.c我看到里面都是在接口gattc_事件_ind_处理程序里面去处理发过来的通知消息。