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

查看: 6361|回复: 1

请教:有关RTC闹钟设置的问题

[复制链接]

1

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2009-7-15 20:19:34 | 显示全部楼层 |阅读模式
各位大虾:我写了一个RTC闹钟的程序,代码大约如下:
代码目的:进入待机模式后3秒通过RTC闹钟唤醒。
main()
{
  ......//init 
 m_vTimeSave = RTC_GetCounter();
  while(1)
  {
    tCurrentTime = RTC_GetCounter();
    if(tCurrentTime - m_vTimeSave > 5)  //大于5秒  
    {    
       tCurrentTime = RTC_GetCounter();
      RTC_SetAlarm(tCurrentTime + 3); 
      /* Wait until last write operation on RTC registers has finished */ 
      RTC_WaitForLastTask();
      PWR_EnterSTANDBYMode();//待机
   }
  }
}
可是发现如下问题:按照以上程序执行到RTC_WaitForLastTask();语句时则死循环,此时查看RTC_CRL寄存器的RTOFF位,的确为0,但是单步调试时RTC_SetAlarm(tCurrentTime + 3); 语句的每一步操作都已经完成,且查看RTC_ALRH和RTC_ALRL寄存器,确认数值都已经写入这两个寄存器,但是RTC_WaitForLastTask();却进入空等待中。很奇怪,请高人指点一二,不胜感激!
屏蔽掉语句RTC_SetAlarm(tCurrentTime + 3); 或者语句RTC_WaitForLastTask();都顺利进入待机模式,且可以通过PA.0(WAKE_UP)上升沿外部中断唤醒,但是不能通过RTC闹钟唤醒。请指教。
回复

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-11-15 02:45:13 | 显示全部楼层

RE:请教:有关RTC闹钟设置的问题

我也碰到这样问题 要是有解决方法能不能告诉我 121028320@qq.com
回复 支持 反对

使用道具 举报

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