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

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管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版