OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7380|回复: 4

ds1302的读操作要加复位程序 为什么呢?

[复制链接]

54

主题

136

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
404
金钱
404
注册时间
2014-3-6
在线时间
41 小时
发表于 2014-3-21 21:18:18 | 显示全部楼层 |阅读模式
程序如下:
#include"DS1302.h"
unsigned char date[7]={0x14,0x03,0x21,0x03,0x18,0x02,0x00};//年月日 周 时分秒 14-3-21 3 18:02:00
unsigned char write_rtc_address[7]={0x8C,0x88,0x86,0x8A,0x84,0x82,0x80};
void write(uchar com,uchar value)
{
uchar i=0;
res=0;
clk=0;
res=1;
nop();
for(i=0;i<8;i++)
{
io=com&0x01;
clk=0;
clk=1;
com>>=1;
}

for(i=0;i<8;i++)
{
io=value&0x01;;
clk=0;
clk=1;
value>>=1;
}
res=0;
nop();
}
uchar Read_DS1302(uchar com)
{
uchar i=0;
uchar value=0;
res=0;
clk=0;
res=1; 
for(i=0;i<8;i++)
{
io=com&0x01;
clk=0;
clk=1;
com>>=1;
}
for(i=0;i<8;i++)
{
clk=1;
clk=0;
if(io)
{
value|=0x01<<i;
}
}
res=0;
_nop_();           //以下为DS1302复位的稳定时间  这这这这这 就是这里
  _nop_();
res=0;
clk=0;
_nop_();
_nop_();
_nop_();
_nop_();
clk=1;
_nop_();
_nop_();
io=0;
_nop_();
_nop_();
io=1;
_nop_();
_nop_();//就是这一段
value=(value/16*10)+value%16;

return value;
}
void Init_DS1302()
{
unsigned char i,*p;
p=write_rtc_address;
write(0x8E,0x00);//关闭写保护
write(0x84,0x00);//24小时
for(i=0;i<7;i++)
{
write(*p,date);
p++;
}
write(0x90,0xA5);
write(0x8E,0x80);//关闭寄存器操作
}
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-3-22 00:14:21 | 显示全部楼层
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-3-22 08:43:39 | 显示全部楼层
帮顶
回复 支持 反对

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2624
金钱
2624
注册时间
2014-2-13
在线时间
514 小时
发表于 2014-3-24 13:14:52 | 显示全部楼层
啥情况?
回复 支持 反对

使用道具 举报

3

主题

5

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2019-9-21
在线时间
9 小时
发表于 2021-1-15 17:35:45 | 显示全部楼层
为什么呢,解决了吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 03:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表