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

STM32L151 stop模式 rtc 闹钟唤醒不稳定

[复制链接]
firstwangjin 提问时间:2018-5-22 20:47 /
阅读主题, 点击返回1楼
收藏 评论22 发布时间:2018-5-22 20:47
22个回答
废鱼 回答时间:2018-5-28 14:16:34
本帖最后由 安 于 2018-5-28 14:18 编辑

楼主是否可以改成RTCwakeup唤醒,根据上面的代码分析,用RTCwakeup更方便。
xmshao 回答时间:2018-5-28 17:35:20
你说的有时唤不醒是所有板都 这样吗? 另外,所谓不唤醒发生后,后续是否一直不再唤醒? 如果说只是偶尔不唤醒,真的需要好好检查下程序代码,数据运算和赋值过程中是否有问题。
比方下面这句会不会有问题?  
minuteBit++;
sAlarm.AlarmTime.Minutes = minuteBit*minuteInterval;

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

周蔷 回答时间:2018-5-30 10:21:57
查看一下时间到了,有没有进RTC中断啊 ,

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

firstwangjin 回答时间:2018-5-31 10:39:58
xmshao 发表于 2018-5-28 17:35
你说的有时唤不醒是所有板都 这样吗? 另外,所谓不唤醒发生后,后续是否一直不再唤醒? 如果说只是偶尔不 ...

你好! 唤醒失败的板子,后续一直睡眠,除非用外部中断触发。 这种现象的板子,具有随机和普遍性。
我采用喂狗后,唤不醒就重启了。这是个问题啊
下面是昨天运行的一段日志:

time now :19时43分04秒  HAL_IWDG_Refresh !      //喂狗时刻
Rset B :Send data DelayTimeout Time:19时43分24秒 // 设置alarmB 用来唤醒喂狗,设置完成后立即进入stop模式


Client Mode VERSION 1.30..  //设备又一次重启,重启后立即喂狗 ,查看下面的时刻是 19时43分31秒,alarmB并没有醒来喂狗,导致超时
time now :19时43分31秒  HAL_IWDG_Refresh !
time now :19时43分31秒  ThreadClientOnlineRequest delaytime .... randDelay = 939 sum =21
Rset B :Send data DelayTimeout Time:19时43分52秒
firstwangjin 回答时间:2018-5-31 10:41:34
安 发表于 2018-5-28 14:16
楼主是否可以改成RTCwakeup唤醒,根据上面的代码分析,用RTCwakeup更方便。

我今天就来修改看看
firstwangjin 回答时间:2018-5-31 10:46:27
occupy 发表于 2018-5-30 10:21
查看一下时间到了,有没有进RTC中断啊 ,

可以正常醒来的都进了这个中断
void RTC_Alarm_IRQHandler(void)
{
// printf("RTC_Alarm_IRQHandler ...\r\n");
  HAL_RTC_AlarmIRQHandler(&hrtc);
}
firstwangjin 回答时间:2018-6-1 10:25:06
ALL: 昨天我把唤醒改成wakeup唤醒,目前的话一切正常。 由于唤醒的时间间隔大,顾只能选用1hz的clock。
HAL_RTCEx_SetWakeUpTimer_IT 函数直接设定:
该函数下有 IS_RTC_WAKEUP_COUNTER(COUNTER)  ((COUNTER) <= 0xFFFF) ,虽然counter 值是uint32_t,但是不能超过65535,刚开始我 使用RTC_WAKEUPCLOCK_RTCCLK_DIV16 . CLOCK 为 32.768k 16分频,这样的话 2048 个计数值才代表1s,计数器范围不够使用。后来只能用1hz 时钟。
不知道1hz 时钟的精度如何?    RTC_WAKEUPCLOCK_CK_SPRE_17BITS 这个值的真正含义又是什么,和RTC_WAKEUPCLOCK_CK_SPRE_16BITS (1hz)相比,使用起来又有和区别?
废鱼 回答时间:2018-6-1 10:38:16
— WUCKSEL [2:1] = 10 时为 1s 到 18h。
— WUCKSEL [2:1] = 11 时约为 18h 到 36h。在后一种情况下,会将 216 添加到 16 位计数器当前值。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

12
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版