关于PIC24FJ128GC010中RTCC的问题

2019-03-25 18:56发布

这个芯片的RTCC寄存器是没有RTCVHLL和RTCVALH的,只有RTCVAL,只能通过操作在RCFGCAL的RTCPTR<1:0>位来控制。11 年
10 月和日
01 星期和小时
00 分钟和秒

而且只要对RTCVAL的高八位写值 则RTCPTR就会自减一次。


我的初始化程序是void RTCC_Init()
{
    RTCCUnlock();
    _RTCEN = 1;//使能RTCC模块
    _PWCEN = 1; //RTCC电源控制位使能
    _RTCOE = 1;//RTCC 输出使能位
//    _RTCWREN = 1;//RTCVALH 和RTCVALL 寄存器可被用户写入
    _PWCPOL =1 ;//电源极性控制位
    _SOSCEN = 1;//使能32.768kHz晶振提供时钟源
    _RTCLK = 0;  //选择SOSC振荡器
    _RTCOUT = 3 ; //RTCC秒时电源控制
    PADCFG1 = 0x02;
}
解锁程序是void RTCCUnlock()
{
        asm volatile("disi        #5");
        asm volatile("mov        #0x55, w7");
        asm volatile("mov        w7, _NVMKEY");
        asm volatile("mov        #0xAA, w8");
        asm volatile("mov        w8, _NVMKEY");
        asm volatile("bset        _RCFGCAL, #13");
        asm volatile("nop");
        asm volatile("nop");
}

我测试的方法是先  
  _RTCPTR0 = 1;//设置时间到年
   _RTCPTR1 = 1;//设置时间到年
    RTCVAL = 0x0015 | RTCVAL; //年
    USART_TXD_Char(RTCVAL);

    RTCVAL = 0x0400 | RTCVAL; //月
    USART_TXD_Char((RTCVAL<<4)>>12);
    RTCVAL = 0x0024 | RTCVAL; //日
    USART_TXD_Char((RTCVAL<<8)>>12);
    USART_TXD_Char((RTCVAL<<12)>>12);

    RTCVAL = 0x0500 | RTCVAL ;//星期
    USART_TXD_Char((RTCVAL<<4)>>12);
    RTCVAL = 0x0015 | RTCVAL;//小时
    USART_TXD_Char((RTCVAL<<8)>>12);
    USART_TXD_Char((RTCVAL<<12)>>12);


出现的问题是修改年份,不会发生变化,而且小时在串口调试中也是错误的,把上面测试得部分注释了,转用下面这段程序。年份就可以修改,为什么会出现这种情况呢,求帮助!!!感谢!!
//    RTCVAL = 0;
//    _RTCPTR0 = 1;//设置时间到年
//    _RTCPTR1 = 1;//设置时间到年
//    RTCVAL = 0x15 | RTCVAL;
//    USART_TXD_Char(RTCVAL);
//
//    RTCVAL = 0;
//    _RTCPTR0 = 0;//设置时间到月
//    _RTCPTR1 = 1;//设置时间到日
//    RTCVAL = 0x0400 | RTCVAL;
//    RTCVAL = 0x0024 | RTCVAL;
//    USART_TXD_Char((RTCVAL<<4)>>12);
//    USART_TXD_Char((RTCVAL<<8)>>12);
//    USART_TXD_Char((RTCVAL<<12)>>12);
而且发现注释了
//    _RTCPTR0 = 0;//设置时间到月
//    _RTCPTR1 = 1;//设置时间到日
这样一部分,也是修改不了年份。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
kgs0716
1楼-- · 2019-03-25 23:04
已解决!
亚洲之东
2楼-- · 2019-03-26 03:21
 精彩回答 2  元偷偷看……

一周热门 更多>