完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
弄了一个代码结果每次掉电之后都要重新设置初值,真的很麻烦,而且日期月份每次重启都是01-01,不知道是哪里设置的这个初值,我希望的是能够掉电重启之后继续,希望大家帮帮我!!!!非常紧急因为要检查了······
main.c (10.86 KB ) |
|
相关推荐
10个回答
|
|
你的有备用电源么~
|
|
|
|
有,但就是掉电清零,好像被设置了一样,但是就是不知道在哪里被设置了
|
|
|
|
1302初始化程序里把设置时间的语句去掉
|
|
|
|
初始化里面没有设置时间,整个程序里面都没有
|
|
|
|
那就查查备用电源吧
|
|
|
|
上图DS1302数据手册不是都写有的后备电源么?楼主的是否接上?
|
|
|
|
我也遇到和楼主一模一样的问题啊,明明有备用电池,只初始化一次,但是掉电后再上电所有读取值都为01。楼主解决问题了么,求助啊。掉电后1302会自动使用备用电池吗??
|
|
|
|
我刚刚弄出来了,楼主,原来我的端口方向只在初始化话函数中设置为了输出,掉电后单片机的端口方向默认为输入了,其实1302中的计时模块仍在进行,只是我们的读方式错误,端口方向没有更改为输出哦,希望有帮助哦
|
|
|
|
我刚刚遇到这个问题,但还是不知道怎么解决
|
|
|
|
问题有解决了,原因是我的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以内).所以要接上上拉电阻 |
|
|
|
只有小组成员才能发言,加入小组>>
3284 浏览 9 评论
2960 浏览 16 评论
3464 浏览 1 评论
9008 浏览 16 评论
4054 浏览 18 评论
1126浏览 3评论
579浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
572浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2306浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1863浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 20:40 , Processed in 1.358877 second(s), Total 102, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号