OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7063|回复: 6

stm32f030使用freertos的tickless模式下的stop休眠问题?

[复制链接]

56

主题

167

帖子

4

精华

高级会员

Rank: 4

积分
602
金钱
602
注册时间
2013-10-18
在线时间
59 小时
发表于 2018-6-6 19:27:48 | 显示全部楼层 |阅读模式
500金钱
使用stm32f030使用freertos的tickless模式下的stop休眠出现任务无法执行

工程描述
1、开启tickless模式,模仿M3的空闲任务编写 portSUPPRESS_TICKS_AND_SLEEP函数进入休眠
2、使用RTC的alarmA中断每500ms唤醒一次,RTC中断服务函数只是清中断操作,无任何其他操作。
3、创建一个led翻转的指示灯任务, vTaskDelay(100);100ms执行一次灯的翻转


问题:
实测stop休眠电流在2ua左右,比sleep休眠的2ma小很多
问题
1、让MCU进入stop深度休眠:发现led任务执行一次后,在执行一次stop休眠后,即使RTC唤醒了MCU也无法执行LED任务,RTC中断程序正常执行,每500ms执行一次
2、让MCU进入sleep休眠:LED任务则正常执行,stop模式和sleep模式有区别?
不知道是什么原因,原子哥和其他人有遇到过类似的吗?能分享出一个带RTC唤醒的tickless程序参考下么。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-6-7 01:08:16 | 显示全部楼层
stop模式重启以后,应该是类似软复位重启吧?
回复

使用道具 举报

26

主题

1538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6379
金钱
6379
注册时间
2015-8-25
在线时间
1004 小时
发表于 2018-6-7 08:22:14 | 显示全部楼层
你确认你的stop模式是用RTC唤醒的吗?不是EXTI才能推出stop模式的吗
回复

使用道具 举报

56

主题

167

帖子

4

精华

高级会员

Rank: 4

积分
602
金钱
602
注册时间
2013-10-18
在线时间
59 小时
 楼主| 发表于 2018-6-7 17:25:11 | 显示全部楼层
szczyb1314 发表于 2018-6-7 08:22
你确认你的stop模式是用RTC唤醒的吗?不是EXTI才能推出stop模式的吗

换成exti唤醒也无法执行led任务,
回复

使用道具 举报

56

主题

167

帖子

4

精华

高级会员

Rank: 4

积分
602
金钱
602
注册时间
2013-10-18
在线时间
59 小时
 楼主| 发表于 2018-6-7 17:26:23 | 显示全部楼层
正点原子 发表于 2018-6-7 01:08
stop模式重启以后,应该是类似软复位重启吧?

软件复位是standby待机模式,stop模式就是最低的休眠保持ram数据模式,原子能试下103进入stop模式freertos是否正常么
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-6-8 01:32:14 | 显示全部楼层
钢铁侠 发表于 2018-6-7 17:26
软件复位是standby待机模式,stop模式就是最低的休眠保持ram数据模式,原子能试下103进入stop模式freerto ...

有时间我测试下
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

26

主题

1538

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6379
金钱
6379
注册时间
2015-8-25
在线时间
1004 小时
发表于 2018-6-8 08:43:32 | 显示全部楼层
钢铁侠 发表于 2018-6-7 17:25
换成exti唤醒也无法执行led任务,

要进入STOP模式,所有的EXTI线挂起位、RTC闹钟(闹钟A和闹钟B)、RTC唤醒、RTC入侵和RTC时间戳标志位必须复位;
退出STOP模式,自能用EXTI
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 23:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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