完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
回复本帖可获得 1 分积分奖励! 每人限 1 次 |
本帖最后由 ok0987 于 2014-3-18 11:28 编辑
下面这个是我写的用来调用的程序 void add_time(uchar ad,uchar b,uchar j)//ad-地址 b-数据 j-进位数 { /*暂停ds1302*/ w_ds(0x8e,0x00);//关闭写保护 w_ds(0x80,0x80);//暂停,启停位在‘秒’的地址里的最高位 ds_r_ct(ad,b);//将这一刻的时间放入b b++;//加法 /*进位判断*/ if(b==j) { b=0; } dis_c(s_h,s_li-1,one[b/10]);//随时刷新显示 dis_c(s_h,s_li,one[b%10]);//随时刷新显示 xswzhi(s_h,s_li);//光标依旧在这闪着 ds_w_ct(ad,b);//改变后,写入。 } 而我在主函数里用这个按键调用 if(jishu==2) { switch(s_h+s_li) { case 4: add_time(0x84,time_buf[4],24); break;//时 case 5: break;//年 case 10: break;//分 case 11: break;//月 case 16: break;//秒 case 17: break;//日 } } 可是按下键后数值至少改变了一次。就怎么也不变了。然后我就检测看看哪里有问题。最后发现,如果改为如下形式就可以正常了。 void add_time(uchar ad,uchar b,uchar j)//ad-地址 b-数据 j-进位数 { /*暂停ds1302*/ // w_ds(0x8e,0x00);//关闭写保护 // w_ds(0x80,0x80);//暂停,启停位在‘秒’的地址里的最高位 // ds_r_ct(ad,b);//将这一刻的时间放入b // b++;//加法 /*进位判断*/ if(b==j) { b=0; } dis_c(s_h,s_li-1,one[b/10]);//随时刷新显示 dis_c(s_h,s_li,one[b%10]);//随时刷新显示 xswzhi(s_h,s_li);//光标依旧在这闪着 ds_w_ct(ad,b);//改变后,写入。 } 调用改为 if(jishu==2) { switch(s_h+s_li) { case 4: w_ds(0x8e,0x00);//关闭写保护 w_ds(0x80,0x80);//暂停,启停位在‘秒’的地址里的最高位 ds_r_ct(0x84,time_buf[4]);//将这一刻的时间放入 time_buf[4]++;//加法 add_time(0x84,time_buf[4],24); break;//时 case 5: break;//年 case 10: break;//分 case 11: break;//月 case 16: break;//秒 case 17: break;//日 } } 然后我就疑惑了,这个数组难道不能在调用的函数里做加减吗?很奇怪?只要把time_buf[4]++;放在case中就正常,而放在调用函数add_time()里就不正常,还请大家帮忙分析下。 |
|
相关推荐
6个回答
|
|
求帮忙啊。。。
|
|
|
|
回帖奖励 +1 分积分
的确蛮奇怪,就是搬出来了而已。
|
|
|
|
最后我把调用的函数改成了这个: void add_time(uchar ad,uchar j)//ad-地 j-进位数 /*暂停ds1302*/ w_ds(0x8e,0x00);//关闭写保护 w_ds(0x80,0x80);//暂停,启停位在‘秒’的地址里的最高位 ds_r_ct(ad,uff);//将这一刻的时间放入b //加法 uff++; /*进位判断*/ if(uff==j) { uff=0; } dis_c(s_h,s_li-1,one[uff/10]);//随时刷新显示 dis_c(s_h,s_li,one[uff%10]);//随时刷新显示 xswzhi(s_h,s_li);//光标依旧在这闪着 ds_w_ct(ad,uff);//改变后,写入。 } 这个uff是我有重新定义的一个全局变量。这样改后,竟然运行成功了。。难道是函数调用全局数组的时候,数组值无法被改变吗?真是好奇怪。 |
|
|
|
回帖奖励 +1 分积分
的确奇怪,毫无头绪啊
|
|
|
|
回帖奖励 +1 分积分 |
|
|
|
回帖奖励 +1 分积分
的确蛮奇怪,就是搬出来了而已。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
304 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
842 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1131 浏览 0 评论
876 浏览 0 评论
914 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11837 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 19:59 , Processed in 0.677399 second(s), Total 51, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号