最近调试程序,发现有时候手机和cc2541 已经连接进去了,但是 手机端会 跳出 Timeout interrogating the peripheral ,然后连接会断掉。这种现象不是每次都发生,很困惑。想问,这个现象可能是什么原因引起的?该怎么解决呢?
mark_xu:
如果是自己配置的UUID,可以查看一下属性是否配置正确,如果有误会出现这种情况
Hui Chen4:
回复 mark_xu:
仔细查看了,没有错误,苹果手机重启后就好了,很奇怪。如果修改部分参数,重新烧录芯片,手机还是可能出现这种情况。
Yan:
回复 Hui Chen4:
Hui,
这个有可能是频偏引起的,特别是你的32K的晶振,请确认一下你的32K的晶振的精度先,要求正负40ppm之内。
mark_xu:
建议你把TI的例程改一下,下载到你的板子中,如果DEMO程序可以运行,手机能扫到且不出错,说明你的程序有问题,如果DEMO程序在你的板子上也有问题,可能是你硬件有问题,那你就可以测试一下你的硬件了,最好测试一下32K的晶振,他可以配置一下,从某个I/O口输出的,你可以参看一下CC254X的数据手册
Hui Chen4:
回复 mark_xu:
Yan, mark,
我今天按照你们的说明又做了进一步的测试,结果如下:
1. 重新烧写 TI Demo 手机连接没有问题,接着重新烧写 自己的程序 也没有问题,但是 在进行 OAD 升级后,lightblue 就会连接不上了。(这时 TI 的Multitool 可以正常连接 操作 )
2. 接着重新下载 TI Demo ,这时 lightblue 还是不能连接,Multitool 还是可以正常连接。
3.进行时钟输出 用25M 示波器 测得 晶振 频率 32.7677K
对此结果,我有以下疑问:
1. 会不会是 lightblue 因为记忆设备信息 而出现问题?
2. 如果是 32K .晶振引起的,我用内部RC 问题同样出现。
3. 如果我 不用外部 32k晶振,采用内部RC 需要注意哪些可能出现的情况?(短时间采用 内部晶振 ,测试还没有发现问题)
欢迎大家给予解答,在此先谢谢啦。
Hui Chen4:
回复 mark_xu:
mark,
1. 我把蓝牙关掉后重新打开确实可以解决这个问题,谢谢啦!
2. 晶振问题 ,如果休眠的话,用内部对时间要求不是很严,也没关系吧。
mark_xu:
回复 Hui Chen4:
Hi Hui!
只要产品不是用在条件非常复杂的条件下,内容晶振也是可以的,由于内部晶振是RC振荡,可能会受到 环境温度等的影响,频率会有所漂移,如果频偏比较大的话,就会影响连接通讯,内部的精度在手册里面有,但是我具体没有测试过