OpenEdv-开源电子网

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

非常紧急求助!!!关于DS1302和1602在单片机上实现的万年历如何掉电不清零!!

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2014-3-14
在线时间
0 小时
发表于 2014-3-20 14:27:23 | 显示全部楼层 |阅读模式
弄了一个代码结果每次掉电之后都要重新设置初值,真的很麻烦,而且日期月份每次重启都是01-01,不知道是哪里设置的这个初值,我希望的是能够掉电重启之后继续,希望大家帮帮我!!!!非常紧急因为要检查了······

main.c

10.86 KB, 下载次数: 212

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-3-20 14:38:27 | 显示全部楼层
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2014-3-14
在线时间
0 小时
 楼主| 发表于 2014-3-20 14:46:26 | 显示全部楼层
回复【2楼】745021926:
---------------------------------
有,但就是掉电清零,好像被设置了一样,但是就是不知道在哪里被设置了
回复 支持 反对

使用道具 举报

14

主题

338

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
464
金钱
464
注册时间
2013-6-15
在线时间
15 小时
发表于 2014-3-20 15:37:13 | 显示全部楼层
1302初始化程序里把设置时间的语句去掉
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2014-3-14
在线时间
0 小时
 楼主| 发表于 2014-3-20 15:49:43 | 显示全部楼层
回复【4楼】as564335sa:
---------------------------------
初始化里面没有设置时间,整个程序里面都没有
回复 支持 反对

使用道具 举报

14

主题

338

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
464
金钱
464
注册时间
2013-6-15
在线时间
15 小时
发表于 2014-3-20 16:25:29 | 显示全部楼层
那就查查备用电源吧
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-3-21 08:21:15 | 显示全部楼层

上图DS1302数据手册不是都写有的后备电源么?楼主的是否接上?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

15

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-11-28
在线时间
13 小时
发表于 2016-2-11 12:19:12 | 显示全部楼层
我也遇到和楼主一模一样的问题啊,明明有备用电池,只初始化一次,但是掉电后再上电所有读取值都为01。楼主解决问题了么,求助啊。掉电后1302会自动使用备用电池吗??
回复 支持 反对

使用道具 举报

15

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-11-28
在线时间
13 小时
发表于 2016-2-11 13:02:23 | 显示全部楼层
我刚刚弄出来了,楼主,原来我的端口方向只在初始化话函数中设置为了输出,掉电后单片机的端口方向默认为输入了,其实1302中的计时模块仍在进行,只是我们的读方式错误,端口方向没有更改为输出哦,希望有帮助哦
回复 支持 反对

使用道具 举报

25

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
457
金钱
457
注册时间
2015-8-16
在线时间
116 小时
发表于 2016-3-9 21:52:03 | 显示全部楼层
reallm 发表于 2016-2-11 13:02
我刚刚弄出来了,楼主,原来我的端口方向只在初始化话函数中设置为了输出,掉电后单片机的端口方向默认为输 ...

我刚刚遇到这个问题,但还是不知道怎么解决
回复 支持 反对

使用道具 举报

25

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
457
金钱
457
注册时间
2015-8-16
在线时间
116 小时
发表于 2016-3-9 22:39:55 | 显示全部楼层
reallm 发表于 2016-2-11 13:02
我刚刚弄出来了,楼主,原来我的端口方向只在初始化话函数中设置为了输出,掉电后单片机的端口方向默认为输 ...

问题有解决了,原因是我的DS1302的引脚没接上拉电阻,而我的端口初始化是这样的:
void DS1302_GPIO_Init(void)
{
        GPIO_InitTypeDef GPIO_InitStruct;
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;//设置PA4、PA6为推挽输出
        GPIO_InitStruct.GPIO_Pin = DS1302CLK|DS1302RST;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(DS1302_PORT, &GPIO_InitStruct);
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_OD;//设置PA5为开漏模式
        GPIO_InitStruct.GPIO_Pin = DS1302DAT;
        GPIO_Init(DS1302_PORT, &GPIO_InitStruct);
}

将PA5设置为开漏模式,而

开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).所以要接上上拉电阻
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 12:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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