你好,
我发布了一个问题https://support.dialog-semiconductor.com/comment/20157#comment-20157但没有得到进一步的回应。
所以我创建了一个新的英文帖子,抱歉有重复。
我使用DA1458x_DSPS_v_5.150.2,并且想知道在执行user_gattc_exc_mtu_cmd之后从哪里获得响应。
我尝试了建议的方法,但没有奏效。
Static int gattc_cmp_evt_handler(ke_msg_id_t const msgid,
Struct gattc_cmp_evt const *param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
如果(param - > req_type = = GATTC_MTU_EXCH)
任何建议吗?
设备:
嗨wslkh,
在调用user_gattc_exc_mtu_cmd函数之后,响应是一个GATTC_CMP_EVT,然后触发gattc_cmp_evt_handler函数。你在等待什么样的回应,你想做什么?
谢谢,PM_Dialog
嗨PM_Dialog,
我想是的,看看我最初的帖子。我的问题是,我从来没见过if语句
如果(param - > req_type = = GATTC_MTU_EXCH)
在调用user_gattc_exc_mtu_cmd后在gattc_cmp_evt_handler中触发。
你试过吗?
嗨wslkh,
if语句不会被触发到gattc_cmp_evt_handler中,因为param->req_type us不等于GATTC_MTU_EXCH (0x01)。请尝试用GATTC_NOTIFY替换GATTC_MTU_EXCH。
谢谢,PM_Dialog
它没有任何意义,因为它与通知无关?你能给我一些代码片段吗?比如在远程对等端响应中显示MTU大小?
谢谢。
嗨wslkh,
这个特性在SDK5.0.4中不支持,因为它不是蓝牙SIG的强制特性,但是你可以使用API uint16_t gattc_get_mtu(uint8_t idx)轮询协商的MTU。请注意,这个特性是在585 SDK中实现的。
谢谢,PM_Dialog
谢谢,PM_Dialog。现在很清楚。