找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

求解答,根据ds1302时间和设置的时间,设置不同的工作状态

查看数: 1184 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-4-28 10:25

正文摘要:

我写的是一个路灯的工作时间,分别有开启时间,结束时间,和节能模式开启时间(有小时和分钟),根据工作在不同的时间段,路灯有不同的亮度,但是在写判断的时候,已经写懵了,有没有好的判断方法,或者有没有办法将小 ...

回复

ID:976573 发表于 2024-4-29 14:07
188610329 发表于 2024-4-29 12:27
先说关键点:多条件并列判断时,要用 && 比如:
if((Time[2] >12) && (Time[2]12  必定是 0x12  而不是 >12

好的,感谢感谢
ID:976573 发表于 2024-4-29 14:05
wufa1986 发表于 2024-4-29 11:56
重写吧,你这种判断时间和分钟分开的方法,稍不留神就会出错,读出时间后统一转换为分钟,再写逻辑判断

好的,感谢感谢
ID:624769 发表于 2024-4-29 12:27
先说关键点:多条件并列判断时,要用 && 比如:
if((Time[2] >12) && (Time[2]<24))
然后,顺带说一下,逻辑上来讲,DS1302的话, 24 小时制 是 0~23  所以,只要 >12  必定是 <24,   同样 只要<12 也必然是 >=0 的,所以,此处根本就不需要并列判断。
最后再提一下,DS1302 用的是BCD计时,正常得到的是 BCD码,所以通常判断时 应该是 >0x12  而不是 >12
ID:879348 发表于 2024-4-29 11:56
重写吧,你这种判断时间和分钟分开的方法,稍不留神就会出错,读出时间后统一转换为分钟,再写逻辑判断

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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