找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

求解答,根據(jù)ds1302時間和設(shè)置的時間,設(shè)置不同的工作狀態(tài)

查看數(shù): 1183 | 評論數(shù): 4 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2024-4-28 10:25

正文摘要:

我寫的是一個路燈的工作時間,分別有開啟時間,結(jié)束時間,和節(jié)能模式開啟時間(有小時和分鐘),根據(jù)工作在不同的時間段,路燈有不同的亮度,但是在寫判斷的時候,已經(jīng)寫懵了,有沒有好的判斷方法,或者有沒有辦法將小 ...

回復

ID:976573 發(fā)表于 2024-4-29 14:07
188610329 發(fā)表于 2024-4-29 12:27
先說關(guān)鍵點:多條件并列判斷時,要用 && 比如:
if((Time[2] >12) && (Time[2]12  必定是 0x12  而不是 >12

好的,感謝感謝
ID:976573 發(fā)表于 2024-4-29 14:05
wufa1986 發(fā)表于 2024-4-29 11:56
重寫吧,你這種判斷時間和分鐘分開的方法,稍不留神就會出錯,讀出時間后統(tǒng)一轉(zhuǎn)換為分鐘,再寫邏輯判斷

好的,感謝感謝
ID:624769 發(fā)表于 2024-4-29 12:27
先說關(guān)鍵點:多條件并列判斷時,要用 && 比如:
if((Time[2] >12) && (Time[2]<24))
然后,順帶說一下,邏輯上來講,DS1302的話, 24 小時制 是 0~23  所以,只要 >12  必定是 <24,   同樣 只要<12 也必然是 >=0 的,所以,此處根本就不需要并列判斷。
最后再提一下,DS1302 用的是BCD計時,正常得到的是 BCD碼,所以通常判斷時 應(yīng)該是 >0x12  而不是 >12
ID:879348 發(fā)表于 2024-4-29 11:56
重寫吧,你這種判斷時間和分鐘分開的方法,稍不留神就會出錯,讀出時間后統(tǒng)一轉(zhuǎn)換為分鐘,再寫邏輯判斷

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表