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

STM32F103RE使用FreeRTOS的Tickless低功耗模式的问题

[复制链接]
caoenq 提问时间:2019-12-31 10:09 /
各位大佬好,STM32F103RE使用FreeRTOS的Tickless低功耗模式(sleep模式)时遇到一个问题:就是每隔1ms单片机就会从sleep模式下唤醒一次。
程序中共有2个任务,第一个任务每隔500ms翻转一次IO口(PB12)电平;第二个任务每隔1000ms唤醒执行一次,2个任务如图1所示。
我的理解正常的逻辑是:单片机进入tickless模式(sleep模式)后,应该500ms左右唤醒一次是正常的,可是试验结果无情的打了我的脸,1ms竟然就唤醒一次,测量波形如图2所示测得的PA2脚电平翻转(PA2的电平在这个PostSleepProcessing(uint32_t *ulExpectedIdleTime)函数内部进行翻转,如图3。这个函数是单片机从Sleep模式醒来后就会执行一次)。
程序中没有开启其他外设中断,请各位大佬帮忙分析一下原因,感激不尽。

图1:程序中的2个任务

图1:程序中的2个任务

图2:单片机为何1ms唤醒一次??

图2:单片机为何1ms唤醒一次??

图3:单片机唤醒后执行的函数

图3:单片机唤醒后执行的函数
收藏 评论3 发布时间:2019-12-31 10:09

举报

3个回答
caoenq 回答时间:2020-1-4 11:17:41
别沉啊,求指点。
butterflyspring 回答时间:2020-2-10 16:46:21
  请确认一下SysTick中断是否关闭了,系统是否进入sleep模式。建议最小化系统,尝试5ms/10ms/20… toggle gpio。
caoenq 回答时间:2020-3-22 11:55:01
butterflyspring 发表于 2020-2-10 16:46
请确认一下SysTick中断是否关闭了,系统是否进入sleep模式。建议最小化系统,尝试5ms/10ms/20… toggle g ...

收到,谢谢版主的回复。

所属标签

相似问题

官网相关资源

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