硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4323|回复: 9
收起左侧

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

[复制链接]

1

主题

3

回帖

17

积分

新手上路

积分
17
发表于 2018-9-5 17:48:33 | 显示全部楼层 |阅读模式
请大神解答下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();
}


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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2018-9-6 01:20:25 | 显示全部楼层
我只把F4的tickless 停机模式调试好了。

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

http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

1

主题

3

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2018-9-6 08:18:29 | 显示全部楼层
eric2013 发表于 2018-9-6 01:20
我只把F4的tickless 停机模式调试好了。

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

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

使用道具 举报

1

主题

3

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2018-9-6 09:11:49 | 显示全部楼层
eric2013 发表于 2018-9-6 01:20
我只把F4的tickless 停机模式调试好了。

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

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2018-9-6 14:46:11 | 显示全部楼层
BIn 发表于 2018-9-6 09:11
哪请问下F1、F0这些系列的芯片是不是不能这样做呢???

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

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2018-12-5 16:36:42 | 显示全部楼层
因为systemtick的来源HSE/HSI等停了,还要在其他中断函数(例如RTC中断)中处理xTaskIncrementTick()来Increment the RTOS tick,要不然程序就不会运行了. 参考http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2022-4-1 08:52:33 | 显示全部楼层
tickless之待机模式能实现吗?求大神们解答?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106622
QQ
发表于 2022-4-1 10:39:00 | 显示全部楼层
hd_cjt 发表于 2022-4-1 08:52
tickless之待机模式能实现吗?求大神们解答?

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

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2022-4-1 17:14:39 | 显示全部楼层
eric2013 发表于 2022-4-1 10:39
待机没必要做这个了,因为待机唤醒后,就跟硬件复位一样。

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

使用道具 举报

3

主题

24

回帖

33

积分

新手上路

积分
33
发表于 2022-5-20 14:11:17 | 显示全部楼层
RTOS一般是基于tickless来做低功耗,或者手动cpu idling,更好的是用power mangement框架,当cpu睡了让周围外设也进入低功耗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-26 19:59 , Processed in 0.174481 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表