首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大脑皮层M3 -系统功能障碍-节能FreeRTOS

大脑皮层M3 -系统功能障碍-节能FreeRTOS
EN

Stack Overflow用户
提问于 2018-07-20 09:14:21
回答 1查看 3.5K关注 0票数 0

我在FreeRTOS上使用EFM32GG380F1024。SysTick用于实时操作系统滴答,低能rtc (BURTC)在睡眠期间用于生成定时唤醒调用。能量模式是EM3 (只是超低频率仍在运行).

当Freertos用"suppressTicksAndSleep“回调调用我时,我会这样做:

  1. 输入关键部分(全局禁用IRQ),调用"__disable_irq()“
  2. 通过调用寄存器" Systick ->CTRL = SysTick_CTRL_CLKSOURCE_Msk x SysTick_CTRL_ENABLE_Msk;“,我禁用了(至少我尝试过;目前无法工作) LEAST中断;
  3. 我设置并启动了LowEnergy RTC (BURTC)
  4. 加入EM3

问题是,就在能量模式入口之后,SysTick中断在唤醒设备时启动:

这是不可能的,因为:

  1. 能量模式3禁用HF和LF时钟,因此so计数器甚至不应该增加

有人能帮忙吗?为什么这不能正确地暂停这个系统呢?

看一看我的追踪器截图:https://imgur.com/a/8PQ9SSb

EN

回答 1

Stack Overflow用户

发布于 2018-07-20 12:05:14

代码语言:javascript
复制
SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk

您不能清除CTRL中的任何位。这句话应该是

代码语言:javascript
复制
SysTick->CTRL &= ~(SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk)

以清除CLKSOURCEENABLE的所有位。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51439124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档