OpenEdv-开源电子网

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

stm32l151能否同时使用两个RTC中断?比如闹钟A和B同时用

[复制链接]

8

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2019-3-19
在线时间
24 小时
发表于 2021-2-12 18:37:00 | 显示全部楼层 |阅读模式
5金钱
有点多,希望各位大神耐心看完。
大概先说一下程序流程吧。。
stm32l151c8t6做的低功耗设计,用到了STOP模式,主程序中在进入STOP前配置了RTC闹钟A中断唤醒,STOP休眠30s唤醒,唤醒后就开始用到传感器进行检测。这时候分两种情况,一种情况就是检测后得到结果达到某个条件,就返回到最初开始,即重新配置闹钟A再进入STOP。另一种情况是检测后结果达到了某个条件,这时候继续在主程序执行,主要是用NB-IOT上传数据到服务器,上传后再返回到最初开始,即重新配置闹钟A再进入STOP。如此循环。以上这些都没有什么问题。
目前有个问题是,因为每次是在检测到满足一定条件下才进行上传数据,但是可能有很多次检测后都会因为不满足条件而不会进行数据上传,那这样的话我服务器那边也就不知道我这个设备到底是因为确实长时间没达到检测条件而没上传数据,还是因为设备出了什么故障导致没法进行上传。所以这里就考虑,比如在连续3个小时内都没进行上传,则此时主动上传一次目前的数据。目前这里我只是大概估算了一下一次STOP休眠+一次检测的总时间,然后根据若3个小时都没满足检测上传条件的话,大概是执行了多少个休眠+检测次数,主程序中根据这个次数进行判断是否要上传。若在这个次数范围内,有一次因满足检测条件则设备上传一次,那么这个计数就清零。。若达到这个次数都还没进行上传,那么就进行一次上传。。
这样的话是大概估算出来的时间,不准确。因为每次RTC定时的时间时准确的,但是每次检测的时间根据不同情况有分成几种,不同情况大概会有几秒差别。
所以现在想问,我这里已经用RTC闹钟A进行了定时唤醒STOP,能否再用闹钟B或者WAKEUP来定时,比如定时3小时,3小时内没数据上传则就在RTC中断里面进行一次上传呢?
即闹钟A只负责唤醒STOP,而闹钟B则定时3小时上传一次。
求助大神解答!

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 05:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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