FR3032D低功耗唤醒休眠
-
@felix-yang 了解,感谢!
-
最近发现个问题咨询一下:FR303x-SDK-v0.3.5下FR303x-SDK-v0.3.5\examples\user_demo\ble_simple_peripheral例程编译后烧录能蓝牙广播正常运行并进入休眠状态;但是试过FR303x-SDK-v0.3.4或FR303x-SDK-v0.3.9下的该例程编译后烧录无法进入休眠状态同时也搜不到蓝牙广播。FR303x-SDK-v0.3.4或FR303x-SDK-v0.3.9版本该例程是有问题吗,如何修改呢?
-
例程修改了什么地方吗?
贴一下烧录工具的日志看一下
-
@zhao
没有改动任何SDK中的内容,上面是FR303x-SDK-v0.3.5编译后烧录的日志,有休眠唤醒后的打印“WWWWW”,广播也是正常的;下面是FR303x-SDK-v0.3.9编译后烧录的日志,没有休眠唤醒后的打印,搜索不到广播内容。
-
不应该呀,用我们最新的3.11再试试
-
FR303x-SDK-v0.3.11也是一样的情况,目前看就只有FR303x-SDK-v0.3.5是正常的,芯片用的FR3032D,编译环境选的ble_simple_periphreal_recv,你们可以看下?
-
@marszhang
3.11是可以的
-
你的代码和官网下的是有区别的,不知道是不是要添加co_delay_10us(40000);system_sleep_enable();这两句?
-
@marszhang system_sleep_enable这个是开启休眠检测功能的,延时只是为了可以在这个地方用jlink烧写程序,因为休眠了的话就不能用jlink了
-
@felix-yang 了解,请问下系统休眠和唤醒就是靠system_sleep_enable和system_sleep_disable这两个函数来切换吗,如果这两函数都没有用,系统处于什么状态?
-
@marszhang
是使能睡眠监测功能,是否进入睡眠是由系统来决定的,不需要用户处理,开启功能后系统会一直判断是否可以进入睡眠,手册中都有你可以看看
-
@felix-yang /* set system clock to 12MHz */
System_SetSystemClock(12000000);
//System_SetSystemClock(24000000);
我发现系统时钟设置24MHz就能跑起来,设置12MHz就跑不起来,这个跟硬件有关系吗,我板子外面贴的24M晶振。
-
@MarsZhang 官方的开发板还是自己做的板子?试一下标准例程能不能跑起来,不要加自己的代码
-
@felix-yang 自己做的板子,是官方例程,System_SetSystemClock(12000000);就只有FR303x-SDK-v0.3.5能跑休眠;我试了FR303x-SDK-v0.3.9和FR303x-SDK-v0.3.11就休眠就跑不起来,蓝牙也不广播,但是改成System_SetSystemClock(24000000);就能跑起来。
-
@marszhang 新版的sdk不开休眠的话,12m能不能跑起来?
-
@felix-yang system_sleep_disable开了这句12M可以跑起来
-
@marszhang 你发一些log信息