BIn 发表于 2018-9-5 17:48:33

关于STM32F103 FreeRTOS 低功耗(tickless之停机模式)

请大神解答下STM32F103 FreeRTOS 低功耗(tickless之停机模式)如何进入如何唤醒???
__weak void PreSleepProcessing(uint32_t *ulExpectedIdleTime)
{
/* place for user code */
        *ulExpectedIdleTime = 0;
//        HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,PWR_STOPENTRY_WFE);
        HAL_PWR_EnterSLEEPMode(PWR_LOWPOWERREGULATOR_ON,PWR_SLEEPENTRY_WFI);
}

__weak void PostSleepProcessing(uint32_t *ulExpectedIdleTime)
{
/* place for user code */
//        SystemClock_Config();
}


以上程序设置为休眠模式可以正常运行,但设置为停止模式程序就卡死。请各位大神解答解答。。。。。

eric2013 发表于 2018-9-6 01:20:25

我只把F4的tickless 停机模式调试好了。

F1的没有调通,所以就没有做

http://www.armbbs.cn/forum.php?mod=viewthread&tid=17658&extra=page%3D1

BIn 发表于 2018-9-6 08:18:29

eric2013 发表于 2018-9-6 01:20
我只把F4的tickless 停机模式调试好了。

F1的没有调通,所以就没有做


谢谢你。你的资料很好一直在跟着学习。搞了一周了还是没有办法调试通过

BIn 发表于 2018-9-6 09:11:49

eric2013 发表于 2018-9-6 01:20
我只把F4的tickless 停机模式调试好了。

F1的没有调通,所以就没有做


哪请问下F1、F0这些系列的芯片是不是不能这样做呢???

eric2013 发表于 2018-9-6 14:46:11

BIn 发表于 2018-9-6 09:11
哪请问下F1、F0这些系列的芯片是不是不能这样做呢???

这个我还没有去深究原因,后面我再研究研究后,我们交流下

xyang.z_OGGU4 发表于 2018-12-5 16:36:42

因为systemtick的来源HSE/HSI等停了,还要在其他中断函数(例如RTC中断)中处理xTaskIncrementTick()来Increment the RTOS tick,要不然程序就不会运行了. 参考http://www.armbbs.cn/forum.php?mod=viewthread&tid=90113&extra=page%3D1

hd_cjt 发表于 2022-4-1 08:52:33

tickless之待机模式能实现吗?求大神们解答?

eric2013 发表于 2022-4-1 10:39:00

hd_cjt 发表于 2022-4-1 08:52
tickless之待机模式能实现吗?求大神们解答?

待机没必要做这个了,因为待机唤醒后,就跟硬件复位一样。

hd_cjt 发表于 2022-4-1 17:14:39

eric2013 发表于 2022-4-1 10:39
待机没必要做这个了,因为待机唤醒后,就跟硬件复位一样。

我现在就是普通单片机做的低功耗   还用的freertos系统,现在就差低功耗这一部分程序了 ,如果裸跑还得在弄之前的程序,我现在想利用第29章 FreeRTOS 独立看门狗监测任务执行状态这一章内容保证喂狗和每个任务完成然后初始化等待模式,既初始化ERTC闹钟事件完成后进等模式,不知道可行不?另外我有个想法,能能否用ERTC的时钟给主函数提供时钟,然后进停止模式,是不是也能进入最低的功耗状态?楼主能否在给点建议

jandy 发表于 2022-5-20 14:11:17

RTOS一般是基于tickless来做低功耗,或者手动cpu idling,更好的是用power mangement框架,当cpu睡了让周围外设也进入低功耗
页: [1]
查看完整版本: 关于STM32F103 FreeRTOS 低功耗(tickless之停机模式)