关于430 RTC的一个问题,请赐教

2019-03-24 13:21发布

我用RTC实现日历功能,使用BCD编码,提供设置日期功能。在设置年份是,当增大或减小年份数值,都能写入RTCYEAR寄存器,
但是当设置月份和day时,有时出现,增加或者减小数值后,执行写入寄存器功能,写不进去(寄存器不变)。
int SetRTCDAY(unsigned char day)
{
RTCDAY = (day);//
return 1;
}
红 {MOD}执行寄存器写入,但是执行后寄存器值不变?不知道为什么。

还有就是如下现象,不断减小day值,从0x30减 1,BCD码应该为0x29,下面程序计算的结果是正确的,当执行蓝 {MOD}的寄存器写入
语句后,寄存器值变成了0x38. 不知道这是什么原因?
if(dayBCD == 0x01)
   dayBCD = 0x31;
  else if((dayBCD & 0x0F) == 0)
  {
   dayBCD -= 0x10;
   dayBCD |= 0x09;
  }
  else
   dayBCD--;
SetRTCDAY(dayBCD);
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
Kernaly
2019-03-25 00:14
< :TI_MSP430_内容页_SA7 --> 解决了吗

一周热门 更多>

相关问题

    相关文章