完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 guo8113 于 2016-7-24 11:23 编辑
在用RTC的时候发现RTC有两个中断: DCD RTC_IRQHandler ; RTC DCD RTCAlARM_IRQHandler ; RTC Alarm through EXti Line 17 发现demo里RTC_IRQHandler中断中同时处理了second和alarm的中断,那么 “EXTI线17连接到RTC闹钟事件”。那么RTC闹钟发生时到底触发哪个中断? 在使用时发现RTC的闹钟寄存器没法写。。。后来试了下如下代码: RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); PWR_BackupAccessCmd(ENABLE); RTC_WaitForLastTask(); RTC_SetAlarm(alarmObj.seccount[0]); alarmObj.cur = 0; RTC_WaitForLastTask(); 可以写了,但是调试时读回的值为0,后来看了下手册,alarm寄存器是只写的寄存器。我晕。 后备寄存器每次写都需要这两个步骤么? (1)设置寄存器RCC_APB1ENR的PWREN和BKPEN位,使能电源和后备接口时钟 (2)设置寄存器PWR_CR的DBP位,使能对后备寄存器和RTC的访问。 测试后发现闹钟确实可以触发RTC_IRQHandler中断。还是有点不明白 RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line 17是干嘛用的? 关于RTC_IRQHandler中断中的RTC_WaitForLastTask();也 有个疑问,中断中wait是不是不太好。 |
|
相关推荐
5 个讨论
|
|
MMCU5721167 发表于 2016-7-25 09:28 好像写alarm之前调用 RTC_WaitForLastTask(); 才行。 我用的RTC realtime的demo,没有设置EXTI,也可触发alarm中断,而且进的中断函数是 RTC_IRQHandler, 能详细介绍下RTCAlarm_IRQHandler么? 还有LED0好像有个秒脉冲输出(在不进行LED0操作时,仍会每秒闪一下),没有配置这个啊,这个是怎么来的? |
|
|
|
|
|
MMCU5721167 发表于 2016-7-25 11:48 RTCAlarm_IRQHandler在中断向量表里。既然RTC ALARM中断是RTC_IRQHandler,实在不明白为啥还有个RTCAlarm_IRQHandler LED0 全局搜不到。你把你们RTC realtime的demo里main函数第77行,“LED0=!LED0;”语句去掉,你看看LED0是不是还是在闪? |
|
|
|
|
|
void RTC_IRQHandler(void)
{ if (RTC_GetITStatus(RTC_IT_SEC) != RESET)//ÃëÖÓÖÐ¶Ï { RTC_Get();//¸üÐÂʱ¼ä } if(RTC_GetITStatus(RTC_IT_ALR)!= RESET)//ÄÖÖÓÖÐ¶Ï { RTC_ClearITPendingBit(RTC_IT_ALR); //ÇåÄÖÖÓÖÐ¶Ï } RTC_ClearITPendingBit(RTC_IT_SEC|RTC_IT_OW); //ÇåÄÖÖÓÖÐ¶Ï RTC_WaitForLastTask(); } 我估计楼主是对这句话产生怀疑了吧,这里面的清除中断只是为了把RTC的所有中断清除了,不是说Alarm的中断起来了。 你可以debug,断点打在RTC_ClearITPendingBit(RTC_IT_ALR);全速运行下,程序永远不会进入执行这个函数,说明Alarm的中断从来没有起来过。可能是我们程序的写法引起了楼主的误解吧。 另外,我按照楼主的方法把LED0注释掉了,LED不闪了,没有复现楼主的现象。请问楼主的程序是哪一版的,试试下载最新的 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
2248个成员聚集在这个小组
加入小组灵动微电子MM32全系列MCU产品应用手册,库函数和例程和选型表
11659 浏览 3 评论
【MM32 eMiniBoard试用连载】+基于OLED12864的GUI---U8G2
5920 浏览 1 评论
【MM32 eMiniBoard试用连载】移植RT-Thread至MM32L373PS
10946 浏览 0 评论
【MM32 eMiniBoard测评报告】+ 开箱 + 初探
4568 浏览 1 评论
灵动微课堂(第106讲) | MM32 USB功能学习笔记 —— WinUSB设备
4296 浏览 1 评论
[MM32软件] MM32F002使用内部flash存储数据怎么操作?
963浏览 1评论
792浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 20:31 , Processed in 0.984256 second(s), Total 75, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号