查看: 5817|回复: 3

关于休眠后需要定时唤醒的场景

[复制链接]

2

主题

4

帖子

46

积分

初级工程师

Rank: 1

积分
46
发表于 2019-7-29 15:20:29 | 显示全部楼层 |阅读模式
目前项目中使用需要ms级别的定时唤醒。唤醒时间不定从50ms~24h。目前发现休眠时可用的定时器只有lptimer定时器和rtc的秒、分、时、天唤醒。
主要受制于lptime时钟的计数器只有16位,即使外部时钟的分频使用最大256HZ,最大休眠时间也只有256秒。
目前打算用闹钟进行秒级别的休眠后,再用定时器进行ms级别的休眠。但是遇到以下的问题
问题一:rtc的闹钟功能,不能在休眠模式下使用吗?在设置闹钟中断后去设置休眠总是重启。
问题二:针对这个场景是否有更好的解决方法?

回复

使用道具 举报

1

主题

44

帖子

2246

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2246
发表于 2019-7-30 13:21:41 | 显示全部楼层
RTC功能可以在休眠模式下使用。(需要说明的时钟中断标志来临时,芯片会唤醒的)重启的原因是否没写中断对应的中断服务函数,是否正常清狗,可以参考休眠模式下唤醒例程。
回复

使用道具 举报

2

主题

4

帖子

46

积分

初级工程师

Rank: 1

积分
46
 楼主| 发表于 2019-7-30 21:08:27 | 显示全部楼层
我是一只鱼21 发表于 2019-7-30 13:21
RTC功能可以在休眠模式下使用。(需要说明的时钟中断标志来临时,芯片会唤醒的)重启的原因是否没写中断对 ...

你好,感谢回复,情况如下:
在rtc闹钟的例程下进行的修改,添加了休眠模式下唤醒例程中的,唤醒配置和testsleep,将RTC的中断设置为:RTC_RTCIF_ALARM_IF_Msk。此时下载程序会不断重启。我的程序设置为在中断函数中反转led灯,你所提到的两个问题应该都不存在,因为如果我将RTC的中断设置为:RTC_RTCIF_SEC_IF_Msk,此时程序能够正常工作。一秒反转一次
回复

使用道具 举报

11

主题

53

帖子

739

积分

专家

Rank: 5Rank: 5

积分
739
QQ
发表于 2019-7-31 18:06:19 | 显示全部楼层
Aisenz-开发人员 发表于 2019-7-30 21:08
你好,感谢回复,情况如下:
在rtc闹钟的例程下进行的修改,添加了休眠模式下唤醒例程中的,唤醒配置和te ...

是否由于喂狗不及时导致的复位?G系列芯片看门狗无法关闭,上电既工作。
回复

使用道具 举报

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

本版积分规则

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