MCU S32DS

S32DS开发S32K148,使用freeRTos,进入停止模式


目前公司一个项目调试S32K148,进入停止模式(低功耗的一种),在不加入RTos进入低功耗模式OK,但是有RTos进入了停止模式,直接被唤醒,查看了资料知道是systick唤醒了停止模式,所以我就使用简单粗暴的方式直接在进入模式之前关闭了systick,直接上代码:
port.c
增加定义:
开启tick:portNVIC_SYSTICK_CTRL_REG |= portNVIC_SYSTICK_ENABLE_BIT;
关闭tick:portNVIC_SYSTICK_CTRL_REG &= ~portNVIC_SYSTICK_ENABLE_BIT;

task.c
在任务里面增加:
SYSTICK_disable();/close systick timer,prevent it wake on MCU stop mode./
PINS_DRV_SetPins(LED_GPIO, 1 << LED3);
/set mcu is run mode,prevent other mode do not change to sleep mode/
POWER_SYS_SetMode(POWER_STATE_RUN,POWER_MANAGER_POLICY_AGREEMENT);
POWER_SYS_SetMode(POWER_STATE_VLPS,POWER_MANAGER_POLICY_AGREEMENT);
SYSTICK_enable();/*open systick timer,task normal start */

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值