4个帖子/ 0新
最后一篇
z0806020433
离线
最后一次露面:1年1个月前
加入:2016-05-05 13:32
关于扩展睡眠模式

你好,
关于扩展睡眠模式,遇到如下问题:
我通过SWD接口进行在线调试,发现始终无法进入extend_sleep_mode,后来我就把DEVELOPMENT_DEBUG切换为0,然后通过SWD下载到蓝牙芯片,将下载器和蓝牙芯片断开。此时,蓝牙芯片可以进入睡眠模式,我通过高精度数字万用表可以观察到平均功耗下去了。
1)但是只要我手机和蓝牙芯片建立连接,会马上异常断开,错误码包括133257之类的,它们的含义哪里找啊?
2)还有为什么会断开呢?我设置了,建立连接,蓝牙芯片会主动往手机发数据,从示波器上可以看到,建立连接后,功耗出现密集波峰(但我本身的数据量是没这么大的)从另一个角度,我关闭扩展睡眠模式,一切都是正常的,手机APP可以正常连接蓝牙芯片,并接收数据。
麻烦给些指导,谢谢!

关键词:
设备:
Gongyu_dialog.
离线
最后一次露面:1周前1周前
加入:2016-04-27 07:07
1.SWD在线调试时,无法进入extend_sleep

1.SWD在线调试时,无法进入extend_sleep_mode,猜测是因为停在了这个地方
uint8_t check_sys_startup_period(无效)
{
........
如果((app_get_sleep_mode()== 2)||(app_get_sleep_mode()== 1))
{
SetWord16(SET_FREEZE_REG,FRZ_WDOG);//停止WDOG直到调试器被移除
而((GetWord16(SYS_STAT_REG)DBG_IS_UP)== DBG_IS_UP){};
SetBits16(SYS_CTRL_REG,DEBUGGER_ENABLE,0);//关闭调试器
}
2.断开的原因不太确定,是否会有外设的影响。另外,你是在哪里加入你的发数据操作的?如果去掉,只是让连接建上不传数据,之后会出现断开吗?

3.检查硬件,比如32K

z0806020433
离线
最后一次露面:1年1个月前
加入:2016-05-05 13:32
你好,

你好,
问题原因已查明,是供电问题,射频模块是不是有个最优供电方式是通过1.5V压升到3.3V,但是扩展睡眠模式下外围模块全部关闭,这样这个DCDC模块也被关了,每次唤醒之后电压值没有稳定,导致射频模块不能正常工作。
问题:
1)软件上能解决这个问题吗,比如做个延时,延时一定时间之后再启动射频模块。我在唤醒中断处理函数中和我的发包函数之前加延时函数,发现没效果,还有其它方法吗?
2)APP与蓝牙芯片连接失败时,会显示不同的错误码,比如133127等等,这些错误码的含义,SDK中应该是有定义的吧,在哪里可以找到啊?
谢谢!

Gongyu_dialog.
离线
最后一次露面:1周前1周前
加入:2016-04-27 07:07
错误码可以查询co_error.h文件。

错误码可以查询co_error.h文件。

关于你认为射频模块供电的问题,能详细描述一下吗?比如相应代码的位置和修改。我这里用的演示板无法复现你说的问题,谢谢