完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
CH579使用multiCentral无法获取到notify数据,使用CentPeri例程可以获取到notify,multiCentral添加了notify部分还是不行,请问有没有multiCentral获取notify的例程呢?
|
|
相关推荐
4个回答
|
|
|
接收不到notify信息的原因是首先notify的case例程中是没有的,另外加上了之后,还需要要使能notify,这个使能可以在从机端加也可以主机端加,在主机端加的话,直接按照Central的例程写就行了,在从机端加可以添加这个函数:
uint8 enable_notify(uint16 connection_handle,uint8 enable) { uint16 cccd = 0; if(enable) { cccd |= GATT_CLIENT_CFG_NOTIFY; }else { cccd &= ~GATT_CLIENT_CFG_NOTIFY; } return GATTServApp_WriteCharCfg( connection_handle, simpleProfileChar4Config, cccd ); } 建立连接(Peripheral_LinkEstablished)函数里调用这个函数就可以。 |
|
|
|
|
|
按照Central的例程还是接收不到notify,无法进入到centralProcessGATTMsg( gattMsgEvent_t *pMsg )函数的else if( pMsg->method == ATT_HANDLE_VALUE_NOTI){}中
|
|
|
|
|
|
你这只是把notify的case添加进来了,但是notify没有使能啊,当然还是进入不了这个case。需要使能notify,可以在从机中加,如上贴方法加,也可以在主机中加,central的例程就中有这个使能,如下图:
|
|
|
|
|
|
主机发送tmos_start_task( centralTaskId, START_WRITE_CCCD_EVT, DEFAULT_WRITE_CCCD_DELAY);
没办法进入Central_ProcessEvent( uint8 task_id, uint16 events )函数执行if ( events & START_WRITE_CCCD_EVT )这部分 |
|
|
|
|
只有小组成员才能发言,加入小组>>
351 浏览 0 评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
863 浏览 0 评论
1461 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
3418 浏览 2 评论
2822 浏览 1 评论
安卓手机支持外接otg扩展坞 然后使用ch340+ch9329控制电脑吗
1808浏览 1评论
1461浏览 1评论
351浏览 0评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
863浏览 0评论
468浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 19:20 , Processed in 0.632230 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
668