DA14580主从设备,我想1秒内发送只是500字节到主设备,使用Nofity还是读好呢?好像都受MTU的限制,MTU要如何更改呢,atts_mtu_exc_resp (uint8_t conidx, struct l2cc_att_mtu_req *点播);这个函数来协商吗?
我用定时器来Nofity发送数据时,我在gattc层使用gattc_set_mtu()和gattc_get_mtu(),也在usr_config更改了马克斯•mtu但是定时器死掉了。
设备:
你好,
请问你是想在1 s内发送500字节,还是想“一次性“发送500字节?
前者可参考需求方例程的实现://www.xmece.com/亚博电竞菠菜products/dialog-serial-port-service..。
后者才需要用到MTU。MTU也需要主机支持才能修改成功。
你好,我是想1 s内主机至少能够收到500字节。
我现在修改MTU成功了之后,主机同时连接2 - 3个从机,用主机读方式获取数据,定时器最快设置为35岁,连接间隔为7,当其中一个从机断开后,主机就挂了,无法重连和继续读取,这么不稳定的情况如何解决吗?如何检测是否GATTC发生的错误?主机定时读取和读取接收数据如下:
空白test_read_ind_handler(空白)
{
uint8我;
struct test_env_tag * test_read = PRF_CLIENT_GET_ENV(TASK_GATTC, testc); / /测试
(我= 0;我+ +)< (APP_EASY_MAX_ACTIVE_CONNECTION);
{
testh_send_event_read (&testh_read - > con_info,
app_env[我].conidx,
testh_read - > testh.chars TESTH_LONG_VAL_CHAR .val_hdl
);
}
ke_timer_set (READ_SEND TASK_APP 35);
}
Static int gattc_read_ind_handler(ke_msg_id_t const msgid,
Struct gattc_read_ind const *param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
uint8_t connection_idx = KE_IDX_GET(src_id);
struct test_env_tag * test_env = PRF_CLIENT_GET_ENV(dest_id, test_env);
if (test_env != NULL) // prf_err_unexpected len . if (test_env != NULL
{
如果(connection_idx = = 0)
{
printf(“阅读0% s \ r \ n”,param - >价值);
}
如果(connection_idx = = 1)
{
printf(“阅读1% s \ r \ n”,param - >价值);
}
如果(connection_idx = = 2)
{
printf(“阅读2% s \ r \ n”,param - >价值);
}
}
其他的
{
printf (" read_ind = = NULL \ r \ n”);
}
如果(testh_env - > testh.svc。shdl = = ATT_INVALID_HANDLE) / /无效
{
ke_state_set (TASK_TESTH TESTH_IDLE);
}
返回(KE_MSG_CONSUMED);
}
你好,
有一个多链路演示,已发送你qq邮箱