rtc怎么实现更改时间

2019-07-25 12:20发布

怎么在正点原子rtc实时时钟源码上更改
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
正点原子
1楼-- · 2019-07-25 12:34
xuande
2楼-- · 2019-07-25 16:09

不知道源码是什么样。
反正道理就是把新的时间写入对应的寄存器。
写之前应当先关闭,写入后再启动走时。

戒斗1994
3楼-- · 2019-07-25 21:16
xuande 发表于 2016-6-10 09:50
不知道源码是什么样。
反正道理就是把新的时间写入对应的寄存器。
写之前应当先关闭,写入后再启动走时 ...

我想通过按键0来实现选择是改变年月日时分秒的其中一个(就像电子表那样),然后按键1没按一下让该选择的位加1。我试着用中断来写了,但按下按键时间就定在了按下的那一刻的时间,不知道是什么原因,是因为按键中断和rtc.c中的秒中断冲突吗?
戒斗1994
4楼-- · 2019-07-25 22:00
xuande 发表于 2016-6-10 09:50
不知道源码是什么样。
反正道理就是把新的时间写入对应的寄存器。
写之前应当先关闭,写入后再启动走时 ...

          while(1){
        delay_ms(10);   
        if(WK_UP==1)
        {        n=n+1;
    if(n>6)
      n=0;                       
    switch(n)
    {
                        case 1:
                          m=calendar.w_year;
                        break;
                case 2:
                          m=calendar.w_month;       
                        break;
                        case 3:
                          m=calendar.w_date;
                        break;
                        case 4:
                          m=calendar.hour;       
                        break;
                        case 5:
                          m=calendar.min;       
                        break;
                case 6:
                          m=calendar.sec;       
                        break;
                       
                }
        l=n;
                if(KEY0==0)        {
                        m=m+1;
                switch(l){
                        case 1:
                          RTC_Set(m,calendar.w_month,calendar.w_date,calendar.hour,calendar.min,calendar.sec);                  
                        break;
                        case 2:
                          RTC_Set(calendar.w_year,m,calendar.w_date,calendar.hour,calendar.min,calendar.sec);
                        break;
                        case 3:
                          RTC_Set(calendar.w_year,calendar.w_month,m,calendar.hour,calendar.min,calendar.sec);
                        break;
                        case 4:
                        RTC_Set(calendar.w_year,calendar.w_month,calendar.w_date,m,calendar.min,calendar.sec);                                                  
                                                                                                  
                       
                        break;
                        case 5:
                        RTC_Set(calendar.w_year,calendar.w_month,calendar.w_date,calendar.hour,m,calendar.sec);
                        break;
                        case 6:
                        RTC_Set(calendar.w_year,calendar.w_month,calendar.w_date,calendar.hour,calendar.min,m);       
                        break;               
                }       
                        这样可以吗
yyx112358
5楼-- · 2019-07-26 00:43
 精彩回答 2  元偷偷看……
戒斗1994
6楼-- · 2019-07-26 03:54
yyx112358 发表于 2016-6-10 11:43
设置完了之后需要启动rtc

启动rtc?rtc-_init()吗?

一周热门 更多>