欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 求解答,根據ds1302時間和設置的時間,設置不同的工作狀態 [打印本頁]

作者: dsm1353879473    時間: 2024-4-28 10:25
標題: 求解答,根據ds1302時間和設置的時間,設置不同的工作狀態
我寫的是一個路燈的工作時間,分別有開啟時間,結束時間,和節能模式開啟時間(有小時和分鐘),根據工作在不同的時間段,路燈有不同的亮度,但是在寫判斷的時候,已經寫懵了,有沒有好的判斷方法,或者有沒有辦法將小時和分鐘存到一個數據里,我感覺就容易比較了
圖片是我已經寫的一點的,感覺問題很大
ds1302 time3和4小時和分鐘
time 0和1是開始時間的小時和分鐘
time  2和3是節能模式開始時間的小時和分鐘
結束時間還沒寫到,就已經懵了
單片機源程序如下:

1714270903389.jpg (1.44 MB, 下載次數: 30)

1714270903389.jpg

作者: wufa1986    時間: 2024-4-29 11:56
重寫吧,你這種判斷時間和分鐘分開的方法,稍不留神就會出錯,讀出時間后統一轉換為分鐘,再寫邏輯判斷
作者: 188610329    時間: 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
作者: dsm1353879473    時間: 2024-4-29 14:05
wufa1986 發表于 2024-4-29 11:56
重寫吧,你這種判斷時間和分鐘分開的方法,稍不留神就會出錯,讀出時間后統一轉換為分鐘,再寫邏輯判斷

好的,感謝感謝
作者: dsm1353879473    時間: 2024-4-29 14:07
188610329 發表于 2024-4-29 12:27
先說關鍵點:多條件并列判斷時,要用 && 比如:
if((Time[2] >12) && (Time[2]12  必定是 0x12  而不是 >12

好的,感謝感謝




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1