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