TI工作人员您好,
我最近在用CC2541做一个蓝牙温湿度计的设计,系统中有温湿度,LCD和flash。现在固件和驱动都写好了,但是遇到一些蓝牙稳定性问题。
蓝牙模块工作几个小时后,手机就搜索不到蓝牙设备了,但是温湿度的数据还能正常读取,也能在LCD上实时的显示出来。看了flash的读写波形和时间间隔,也是和设计的效果一样。
请问你们有遇到类似的问题么,有什么解决办法或者需要排查的点么??
甜甜的大香瓜:
《新手问题集》:http://www.amomcu.com/forum.php?mod=viewthread&tid=276&extra=page%3D1
最后一点
ZBug ZBug:
回复 甜甜的大香瓜:
但是我用示波器抓了SPI和 I2C的数据来看,连续读写的时间很短,最多的也就6ms
另外系统中还有一个中断 1s 的IO中断
Yue TANG:
回复 ZBug ZBug:
使用sniffer抓下看出现扫描不到时,是否仍在advertising
ZBug ZBug:
回复 Yue TANG:
在sniffer 上看不到蓝牙设备,手机也搜索不到。
然后我看了下代码,我用的1.4.0的协议栈
代码中是
uint16 gapRole_AdvertOffTime = 0; 注释中说这个值设置为0,表示默认30秒广播,但是我这边蓝牙一直都是在广播的,只是在几个小时后,才不广播。
Yue TANG:
回复 ZBug ZBug:
也就是说,没有广播所以连不上,你是希望一直广播?
Yue TANG:
回复 ZBug ZBug:
控制广播的代码是可见的,你完全可以跟踪debug一下,看具体是什么原因30秒不停广播
da qin zheng sheng:
估计是射频部分的问题!晶振和天线部分。
ZBug ZBug:
回复 Yue TANG:
对的 , 希望一直广播,外边一直能够搜索的到。
ZBug ZBug:
回复 Yue TANG:
是这样的,我又去看了代码,代码中有个宏定义
#define DEFAULT_DISCOVERABLE_MODE GAP_ADTYPE_FLAGS_GENERAL
应该是设置为一直广播了,所以一直广播是正常的,但是广播了几个小时后不广播了。
ZBug ZBug:
回复 da qin zheng sheng:
这部分是用的TI的官方设计
如果是晶振的问题的话,为什么会在几个小时后才会搜索不到呢?