[STM32F1]

RTC设置好了日期时间会变

[复制链接]
楼主: Cjy_JDxy
手机看帖
扫描二维码
随时随地手机跟帖
Cjy_JDxy|  楼主 | 2017-9-12 07:47 | 显示全部楼层
aizaixiyuanqian 发表于 2017-9-11 21:52
楼主你的问题解决了吗?

没有

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-12 08:19 | 显示全部楼层
ljx200710 发表于 2017-9-11 09:16
//我自己编写的RTC设置时间和解码时间,同时加入闹钟功能,亲测通过。特别注意的是设置时间函数需要打开后 ...

yue_day+=runnian;
这一句编译通不过。

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-12 08:45 | 显示全部楼层
stm32jy 发表于 2017-9-11 22:19
估计你的晶振有点问题。

那怎么办呀

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-12 09:16 | 显示全部楼层
我在void RTC_IRQHandler(void)
{
                CPU_SR         cpu_sr;

                if(OSRunning > 0){
                OS_ENTER_CRITICAL();
          OSIntNesting++;
          OS_EXIT_CRITICAL();
                }
               
                //Óû§³ÌÐò..
if(RTC->CRL&0x0001)//ÃëÖÓÖжÏ
        {                                                       
                RTC_Get();//¸üÐÂʱ¼ä          
                //printf("CRL:%d\n",RTC->CRL);       
        }
        if(RTC->CRL&0x0002)//ÄÖÖÓÖжÏ
        {
                //printf("Alarm!\n");       
                RTC->CRL&=~(0x0002);//ÇåÄÖÖÓÖжÏ
                //ÄÖÖÓ´¦Àí
        }                                                                                                    
    RTC->CRL&=0X0FFA;         //Çå³ýÒç³ö£¬ÃëÖÓÖжϱêÖ¾
        while(!(RTC->CRL&(1<<5)));//µÈ´ýRTC¼Ä´æÆ÷²Ù×÷Íê³É       
          if(OSRunning > 0){
                OSIntExit();
                }
}
处设置断点,执行不到

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-12 10:22 | 显示全部楼层
换了一块板子,时钟可以走了。
初始化时,设置成2009年12月2号
rLastTask();        //µÈ´ý×î½üÒ»´Î¶ÔRTC¼Ä´æÆ÷µÄд²Ù×÷Íê³É
                RTC_EnterConfigMode();/// ÔÊÐíÅäÖà      
                RTC_SetPrescaler(32767); //ÉèÖÃRTCÔ¤·ÖƵµÄÖµ
                RTC_WaitForLastTask();        //µÈ´ý×î½üÒ»´Î¶ÔRTC¼Ä´æÆ÷µÄд²Ù×÷Íê³É
                RTC_Set(2009,12,2,10,0,55);  //ÉèÖÃʱ¼ä       
                RTC_ExitConfigMode(); //Í˳öÅäÖÃģʽ  
                BKP_WriteBackupRegister(BKP_DR1, 0X5050);        //ÏòÖ¸¶¨µÄºó±¸¼Ä´æÆ÷ÖÐдÈëÓû§³ÌÐòÊý¾Ý
                }

在运行过程中设置成其他的值,过一会日期时间又恢复为2009年12月2日。

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-12 12:52 | 显示全部楼层
问题解决了。程序问题,设置时间没弄对

使用特权

评论回复
zhazhahua| | 2017-9-13 09:17 | 显示全部楼层
估计是硬件晶振起振有问题。

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-13 09:22 | 显示全部楼层
现在好啦。昨天还快一天,今天上班一测,居然好啦

使用特权

评论回复
ljx200710| | 2017-9-13 09:57 | 显示全部楼层
zhazhahua 发表于 2017-9-13 09:17
估计是硬件晶振起振有问题。

设置时间和解码时间有些技巧的 ,我当初是先做好解码时间函数,然后再调设置时间函数的。

使用特权

评论回复
ljx200710| | 2017-9-13 10:02 | 显示全部楼层
Cjy_JDxy 发表于 2017-9-12 08:19
yue_day+=runnian;
这一句编译通不过。

yue_day+=runnian;//不好意思,当时粘贴有点问题。楼主问题解决了吧

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-13 10:05 | 显示全部楼层
ljx200710 发表于 2017-9-13 10:02
yue_day+=runnian;//不好意思,当时粘贴有点问题。楼主问题解决了吧

解决了

使用特权

评论回复
stm32jy| | 2017-9-13 16:12 | 显示全部楼层

换个晶振就好了,没什么难的。

使用特权

评论回复
aizaixiyuanqian| | 2017-9-14 16:50 | 显示全部楼层

要不就买个ds1302模块算了。

使用特权

评论回复
gaoke231| | 2017-9-17 14:45 | 显示全部楼层

换个晶振试下,最简单的就用ds1302吧。

使用特权

评论回复
gaoke231| | 2017-9-17 14:46 | 显示全部楼层

原子哥的代码不会有问题估计你板子硬件电路的问题。

使用特权

评论回复
Bjorn| | 2017-9-18 22:02 | 显示全部楼层
和硬件晶振有关系吗??

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-18 22:55 | 显示全部楼层
Bjorn 发表于 2017-9-18 22:02
和硬件晶振有关系吗??

不是晶振的问题

使用特权

评论回复
Eric@Wei| | 2017-9-19 09:04 | 显示全部楼层
设置问题吧

使用特权

评论回复
Rangar| | 2017-9-19 12:03 | 显示全部楼层
时钟稳定吗

使用特权

评论回复
Cjy_JDxy|  楼主 | 2017-9-19 15:11 | 显示全部楼层

搞好啦,稳定

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则