开始CC2541与手机连接很正常,测试了几个手机后,断开连接,突然手机扫描不到CC2541设备了,所有手机都扫描不到CC2541,但是指示灯指示当前状态正在广播,多次复位后打开广播,指示灯指示正在广播,但是手机仍然扫描不到CC2541设备.重新下载程序后再测试,又正常了,这种现象只出现过两次。这个会是什么问题?
Viki Shi:
指示灯指示广播并不一定真的在广播,是否有抓包确认过?
怀疑是程序出错,建议用TI例程测试下
mark_xu:
1、如果有条件,建议加上串口打印,可以看到到底程序运行到哪里死掉了
2、如果硬件没有打印接口,可以用siniffer 抓一下数据,看看模块到底有没有在广播
3、最好检查一下硬件,看看晶振等电路设计的是否符合要求
4、最后检查一下自己写的代码,是否有死锁的地方
user4883024:
回复 Viki Shi:
抓包发现单片机蓝牙并没有广播,断电复位后,依然不能广播。
在static void hidDevGapStateCB( gaprole_States_t newState )函数中case GAPROLE_ADVERTISING:HalLedBlink(HAL_LED_1,200,10,2500); break;设置LED闪烁,
每次按按键LED正常闪烁。必须重新下载代码才能正常工作,感觉像FLASH被修改了,目前主要在与安卓手机连接时出现,苹果手机目前没遇到这个情况
user4883024:
回复 user4883024:
在谷歌浏览器中回车没有效果吗?回车后依然是每行连接在一起。
user4883024:
回复 mark_xu:
抓包发现单片机蓝牙并没有广播,断电复位后,依然不能广播。在static void hidDevGapStateCB( gaprole_States_t newState )函数中case GAPROLE_ADVERTISING:HalLedBlink(HAL_LED_1,200,10,2500); break;设置LED闪烁, 每次按按键LED正常闪烁。必须重新下载代码才能正常工作,感觉像FLASH被修改了。
目前主要在与安卓手机连接时出现,苹果手机目前没遇到这个情况