OpenEdv-开源电子网

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

新手求解RTC时钟初始化的问题

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2017-9-4
在线时间
1 小时
发表于 2017-9-4 09:21:01 | 显示全部楼层 |阅读模式
1金钱
u8 RTC_Init(void)
{
       
        u8 temp=0;
        if(BKP->DR1!=0X5050)
        {         
                  RCC->APB1ENR|=1<<28;                 
                RCC->APB1ENR|=1<<27;                 
                PWR->CR|=1<<8;         
                RCC->BDCR|=1<<16;         
                RCC->BDCR&=~(1<<16);               
            RCC->BDCR|=1<<0;        
            while((!(RCC->BDCR&0X02))&&temp<250)         
                {
                        temp++;
                        delay_ms(10);
                };
                if(temp>=250)return 1;          
                RCC->BDCR|=1<<8;             
                RCC->BDCR|=1<<15;          
                  while(!(RTC->CRL&(1<<5)));         
            while(!(RTC->CRL&(1<<3)));
            RTC->CRH|=0X01;                    
            while(!(RTC->CRL&(1<<5)));         
                RTC->CRL|=1<<4;                    
                RTC->PRLH=0X0000;
                RTC->PRLL=32767;                 
                RTC_Set(2014,3,8,22,10,55);            
                RTC->CRL&=~(1<<4);           
                while(!(RTC->CRL&(1<<5)));                                                                                              
                BKP->DR1=0X5050;  
                 printf("FIRST TIME\n");
        }else//&#207;μí3&#188;ìD&#248;&#188;&#198;ê±
        {
            while(!(RTC->CRL&(1<<3)));
            RTC->CRH|=0X01;                    
            while(!(RTC->CRL&(1<<5)));
                printf("OK\n");
        }                                                      
        MY_NVIC_Init(0,0,RTC_IRQn,2);  
        RTC_Get();
        return 0;
}

这是PDF中的代码
求解else之后设置RTC->CRH寄存器为什么不用取消备份区写保护
我理解的是RTC->CRH在后备区域,复位后后备区域就会使能写保护,这个时候写寄存器RTC->CRH应该先取消写保护并且使能电源时钟和备份时钟,这里为什么不需要?

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2017-9-5 01:00:30 | 显示全部楼层
你可以仿真跟踪,看下寄存器每个位的状态,再下结论
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-14 22:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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