微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > cc2540与ios通信问题

cc2540与ios通信问题

时间:12-22 整理:3721RD 点击:

本人使用cc2540与iphone进行通信。cc2540和iphone上烧写的是

http://processors.wiki.ti.com/index.php/File:IPhoneFileTransfer.zip

下面的代码。。根据上面的描述说发送速率能够达到1.5K/s 而我测试发现远远达不到1.5K/s,用XCODE调试发现iphone这边接收数据,接收2-3组数据(这些数据时间间隔为1-2ms)后就会隔100ms左右时间才能继续收到数据然后又接收2-3组数据又隔100ms。

是哪里没设置对么。。。。希望各位给点意见。。。谢谢

Hi Jun chen2,

这100ms是connection interval,  你可以通过缩短这个时间来达到提高数据流的目的.

苹果设定了一些规范, 只要符合这个规范就能修改这个interval.

具体可以参考这个帖子:

http://www.deyisupport.com/question_answer/f/45/t/18625.aspx

Yan:

 感谢你的回复,我仔细阅读了你提供的帖子,你帖子中提到的修改方法,我也尝试修改了(其实TI提供的源代码就是按照你所说的那种方法)将DEFAULT_ENABLE_UPDATE_REQUEST设为TRUE

 DEFAULT_UPDATE_MIN_CONN_INTERVAL  16

  DEFAULT_DESIRED_MAX_CONN_INTERVAL     32

但是当我修改后,是无法与iphone建立连接的(当然TI提供的原代码也是无法与iphone建立连接)。

2、你能不能提供一份packet sniffer与cc2540建立连接的文档,,我一直停留在使用packet sniffer来抓广播数据,具体怎么使用它来抓2540发出来的gatt_notifation数据一直没有找到怎么操作。

谢谢

Hi jun chen2

1.请注意除了connection interval 以外, slave latency 不能大于4, supervision timeout不能大于6, 等等要求.

另外, IOS实际的connection interval一般都是要求30ms以上(如果我记得正确的话, 应该是).

 2. 请参考文档: http://www.ti.com/lit/ug/swru187f/swru187f.pdf     一旦你连接成功抓到数据包以后, 解析是非常清楚的.

另外, 如果你要提高抓到数据包(除了广播包以外)的成功率, 最好是把广播固定在一个频道发送. 你可以在 perihperal.c, 里面void GAPRole_Init( uint8 task_id ) 函数里面gapRole_AdvChanMap 这个变量改成 37, 或38, 或39任意一个, 然后snffer软件里面也选择同一个channel就行.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top