主题中讨论的其他部件: sysconfig, CC3200, UNIFLAASH
您好,
我正在尝试使CC3235S休眠,我看到了PRCM API,其中我可以将唤醒源启用为SlowClock,以及如何设置间隔。 但是,在实践中,这不起作用。
我说它不起作用,因为我只看到我的LED闪烁一次,再也不会闪烁。 这说明没有退出休眠模式 (MCU基本上重启)。
我包括Power_init(),但实际上我没有使用电源策略,因为我的选项不包括通过时钟唤醒实现休眠。 我只看到休眠GPIO唤醒。
sysconfig电源菜单和PRCM源代码之间似乎不匹配。
Power_init(); While(1){ LED_Blink(); PRCMHibernateWakeupSourceEnable(PRCM_HIB_SLOW_CLK_CTR); PRCMHibernateIntervalSet(32768); // should set up the HIB timer for x amount of ticks, 32,768 per second PRCMHibernateEnter(); }
我也尝试使用Power_Shutdown,但我无法使用 Power_shutdown (01000);。
我在POWER_measurement示例中看到 ,使用Power_shutdown (0,毫秒);这可进入休眠模式,但即使我将时间间隔更改为2000毫秒,它也不会退出休眠模式。 因此,我在两个具有相同结果的实例中使用了Power_shutdown (0,毫秒)。
我看到文档提到休眠模式被RTC/SlowClock唤醒,但实际上没有任何功能。
我已经查看 了CC32xx API文档 ,这就是我如何使用上面提到的PRCM功能。
我还查看 了CC32xx电源管理文档,但文档中使用的功能在我的库中不存在。 没有一个应用说明或文档可以向我演示如何执行此操作。
下面给出的示例不存在:
// Setting up timer as a wake source /* Setup the RTC initial value - This can be obtained from NTP too */ init_time.secs = 0; init_time.nsec = 0; cc_rtc_set(&init_time); /* Create a real time timer */ realtime_timer.source = HW_REALTIME_CLK; realtime_timer.timeout_cb = timer_intr_hndlr; realtime_timer.cb_param = NULL; timer_hndl = cc_timer_create(&realtime_timer); /* Configure the timer for a periodic wakeup */ interval_time.secs = LPDS_DUR_SEC; interval_time.nsec = LPDS_DUR_NSEC; cc_timer_start(timer_hndl, &interval_time, OPT_TIMER_PERIODIC);
我是否缺少某些内容? 我只想通过SlowClock之类的文档状态从休眠状态唤醒。
谢谢你。
编辑:我应该提到,我使用 的是Launchpad开发板,它确实有一个用于RTC的外部32kHz振荡器。