TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2540与上位机最小连接间隔设置的问题

CC2540的程序中设置如下

#define DEFAULT_DESIRED_MIN_CONN_INTERVAL     80(100ms)

#define DEFAULT_DESIRED_MAX_CONN_INTERVAL     800(1s)

#define DEFAULT_DESIRED_SLAVE_LATENCY         0

#define DEFAULT_DESIRED_CONN_TIMEOUT          1000(10s)

#define DEFAULT_ENABLE_UPDATE_REQUEST         TRUE

测试连接事件发生的频率,方法是参考TI 官网给出的功耗测试文档,正电源输入串联10欧姆,示波器抓10欧姆上的电压波形进行分析。

与CC2540 USB DONGLE连接时,可以测到1s中会有一次上下位机的连接事件发生,和CC2540程序设置的是一致的。

但是与我们自己的iphone手机app连接时,发现一旦连接,上下位机的连接事情周期变为30ms,非常耗电。

不知如何解决该问题,有两个问题请教一下。

1. CC2540能否不被上位机修改连接设置。

2.如果1无法做到,上位机,即APP中如何设置为1s。

谢谢

user4019748:

回复 shaokai Lin:

Hi shaokai Lin

     谢谢你的指导。请问一下,上位机是如何在范围内选择合适的参数,更新到连接参数中,上位机有相应的API函数吗?具体的调用的函数是?

    

wenzhong shen:

1. 连接设置 由主机决定,两者连接之后,主机端的连接参数起作用。但是你这个问题还可以有第三种解决方法:

从机可以向主机发送连接参数更新请求,来请求主机的连接参数 更新到与从机一致。方法是:(参考simpleBLEperipheral.c)

// Whether to enable automatic parameter update request when a connection is formed#define DEFAULT_ENABLE_UPDATE_REQUEST         TRUE

 uint8 enable_update_request = DEFAULT_ENABLE_UPDATE_REQUEST;

GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_ENABLE, sizeof( uint8 ), &enable_update_request );

更改这3句代码,来使能或禁止,从机向主机发送连接参数更新请求,只要发送之后 主机就允许 然后连接参数就会变成你 从机端设定的参数 了

 

user4019748:

回复 wenzhong shen:

谢谢,之前一直是完全按照您说的设置的。但是上位机APP一旦连接,还是30ms。上位机调用的建立连接函数是connectPeripheral。不知问题何在?

xiaowanqiang xiaowangqiang:

你好  你的问题解决了吗 我也遇到了这个问题。你怎么侧脸的他的连接间隔时间是30ms

xianda chen:

回复 user4019748:

主要是ios对连接参数有限制,ios限定连接超时最大是6s,你给了10s,不符合他的规范,所以ios不接受你的参数更新请求,还是按照默认的连接参数进行连接,把10s改成6s应该就好了,有个文档专门介绍 ios 的 BLE 规范

赞(0)
未经允许不得转载:TI中文支持网 » CC2540与上位机最小连接间隔设置的问题
分享到: 更多 (0)