OpenEdv-开源电子网

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

哪里有RTC闹钟中断的例子?

[复制链接]

9

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-11-29
在线时间
0 小时
发表于 2013-1-2 22:09:31 | 显示全部楼层 |阅读模式

在论坛里搜索了下,有了点收获但是不大。我的RTC闹钟中断也是进不去。只能进秒中断。

看原子哥说参考战舰版RTC的配置,上面有闹钟中断。但是我看了那个程序里面没有如何使用RTC闹钟的地方。
 if(RTC->CRL&0x0002)//闹钟中断
 {
      //  printf("Alarm!\n"); 
      RTC->CRL&=~(0x0002);//清闹钟中断
      //闹钟处理
 } ,可是我看了寄存器的值,这个IF函数根本进不去,如何让32位可编程计数器达到RTC_ALR寄存器所设置的预定值呢?进入这个中断函数呢

 

 

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-1-2 22:25:35 | 显示全部楼层
设置一个可以到达的值。
注意RTC->CNTH/CNTL里面的值1秒钟才增加1,你自己看着设置。呵呵。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

9

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-11-29
在线时间
0 小时
 楼主| 发表于 2013-1-3 09:32:43 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢,原子老师!那是不是如果我设置RTC->CNTL=10;要10次秒中断才能进入一次闹钟中断呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-1-3 10:16:12 | 显示全部楼层
不是这个意思啊。。。
CNTL/CNTH是RTC的计数器,你RTC是何年马月,都是通过这两个寄存器决定的。
你设置闹钟,就只需要配置 RTC->ALRL、ALRH即可!
但是确保CNTL+CNTH<ALRL+ALRH。
比如小100,那么你的闹钟将会在100秒以后闹铃!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

9

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
71
金钱
71
注册时间
2012-11-29
在线时间
0 小时
 楼主| 发表于 2013-1-3 11:40:42 | 显示全部楼层

回复【4楼】正点原子:
---------------------------------
中断进去了,谢谢原子老师了!可是只能进入一次闹钟中断,然后RTC->CNTL的值就大于了ALRL的值了,我想把RTC->CNTL的值清零,可是实现不了
void RTC_IRQHandler(void)
{           
    if(RTC->CRL&0X0002)
    { 
        Aout(3)=~PAout(3);
        RTC->CNTL=0;
        while(!(RTC->CRL&(1<<5)));//等待RTC寄存器操作完成
        RTC->CRL&=~(0X0002);
    }             
    RTC->CRL&=0X0FFA;         //清除溢出,秒钟中断标志
    while(!(RTC->CRL&(1<<5)));//等待RTC寄存器操作完成                   
}
我想实现间隔一段时间就进入一次闹钟中断,请原子老师指教一下。

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-1-3 15:16:26 | 显示全部楼层
重新设置ALRL,ALRH即可。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

51

主题

340

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3275
金钱
3275
注册时间
2013-9-21
在线时间
281 小时
发表于 2015-1-18 17:33:45 | 显示全部楼层
回复【5楼】hantan518:
---------------------------------
请问你有实验过原子的rtc时钟实验再增加单纯闹钟功能吗
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-26 20:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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