你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

freeros tickless STOP 模式实现 低功耗

[复制链接]
秦山asd 提问时间:2017-5-30 21:24 /
我采用的是STM32F071这个芯片,采用FREERTOS,使用的电池供电,所以要求低功耗,我采用的TICKLESS官方推荐的方式,配置  #define configUSE_TICKLESS_IDLE          1  ,然后编写函数 vPortMySuppressTicksAndSleep  在这里 进入STOP模式,采用RTC的闹钟中断唤醒,和 外部中断唤醒;   但是 经过测试,在外部中断中发送任务信号量(不是xSemaphoreTake创建的 而是任务自带的内部信号量),可以唤醒对应的任务,   然后测试 xSemaphoreTake 创建的独立信号量的方式,测试代码为 创建一个信号量,然后一个线程设置5秒等待这个信号量,然后输出调试信息,但是一旦唤醒,系统就死机了 然后不再进入SYSTICK中断了,,,,调试了 快一个月了,,,实在没办法了,,论坛里 希望有使用过 这种 低功耗方式的,可以指导一下,非常感谢!
收藏 评论8 发布时间:2017-5-30 21:24

举报

8个回答
废鱼 回答时间:2017-5-31 10:54:34
没有用过这个系统,进入STOP以后,唤醒会继续工作,有时候为了防止出错,可以考虑复位一下系统。
zoomdy 回答时间:2017-5-31 11:45:46
真的需要RTOS吗,对于简单系统,RTOS引起的问题比解决掉的问题还要多
zoomdy 回答时间:2017-5-31 11:46:26
检查堆栈有没有溢出
秦山asd 回答时间:2017-5-31 13:02:34
安 发表于 2017-5-31 10:54
没有用过这个系统,进入STOP以后,唤醒会继续工作,有时候为了防止出错,可以考虑复位一下系统。 ...

复位肯定是不可以的!  复位的话 应用就乱了!
秦山asd 回答时间:2017-5-31 13:03:09
zoomdy 发表于 2017-5-31 11:46
检查堆栈有没有溢出

就一个测试任务  ,我堆栈开的很大的,空闲任务的堆栈我开的也很大!   
废鱼 回答时间:2017-5-31 13:26:40
唤醒以后,有没有重新配置系统的时钟?
abc4460414524 回答时间:2017-6-2 18:06:00
我做过这个 tickless stop 模式
秦山asd 回答时间:2017-6-3 09:38:04
abc4460414524 发表于 2017-6-2 18:06
我做过这个 tickless stop 模式

您好,可以加您QQ吗?我在F103实现了,F071一直卡主,找不到问题在哪里  估计是CM0操作不一样!我的QQ 3314900970

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版