DS1302用纽扣电池,断电后,可以让时间不丢失,寄存器哪.....

2020-02-02 09:29发布

请问下,DS1302要用到纽扣电池,程序里面要怎么设置呢?
要操作什么呢?谢谢啦!
  1. void  DS1302_Init(void)      
  2. {                                                         
  3.      RST  = 0;
  4.      SCK  = 0;
  5.      write_ds1302( 0x8E, 0x00 );           //关写保护
  6.     write_ds1302( 0x90, 0xA7 );           //充电(1个二极管 + 8K电阻)
  7.     write_ds1302( 0x8E, 0x80 );           //开写保护
  8.   if( read_ds1302(0x81) & 0x80 )      
  9. {
  10.         set_time(&time);                  
  11.   }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
yihui184
2020-02-03 22:28
s3c2440 发表于 2012-10-25 14:07
//设置1302的初始时间(自动初始化)
void Init_1302(void){//-设置1302的初始时间(2007年1月1日00时00分0 ...

你好,大哥,我现在还是遇到DS1302的问题,我想问下,我DS1302在开发板上面程序是初始化设置好时间后,再在while循环读取时间,然后通过串口调试助手,把时间打印出来了,再延迟1s,循环读时间,再打印,这样是正确的。现在,我在做一个项目,要用到DS1302,我把在开发板上面跑成功的这个程序移植过来,然后加上你告诉我的设置纽扣电池起作用的这个函数。我这个项目里面的DS1302程序现在出现问题了,就是读时间大都正确,就是有时候突然读出一个不正常的日期,经常读出2018年这样的数据,我在写和读DS1302都禁止了中断,我不知道为什么会出现,读DS1302的时间怎么有时候突然会读出一个乱的日期!请问您遇到过么?

一周热门 更多>