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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1477|回復: 4
收起左側

求解答,根據ds1302時間和設置的時間,設置不同的工作狀態

[復制鏈接]
ID:976573 發表于 2024-4-28 10:25 來自觸屏版 | 顯示全部樓層 |閱讀模式
我寫的是一個路燈的工作時間,分別有開啟時間,結束時間,和節能模式開啟時間(有小時和分鐘),根據工作在不同的時間段,路燈有不同的亮度,但是在寫判斷的時候,已經寫懵了,有沒有好的判斷方法,或者有沒有辦法將小時和分鐘存到一個數據里,我感覺就容易比較了
圖片是我已經寫的一點的,感覺問題很大
ds1302 time3和4小時和分鐘
time 0和1是開始時間的小時和分鐘
time  2和3是節能模式開始時間的小時和分鐘
結束時間還沒寫到,就已經懵了
單片機源程序如下:
1714270903389.jpg
回復

使用道具 舉報

ID:879348 發表于 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:976573 發表于 2024-4-29 14:05 來自觸屏版 | 顯示全部樓層
wufa1986 發表于 2024-4-29 11:56
重寫吧,你這種判斷時間和分鐘分開的方法,稍不留神就會出錯,讀出時間后統一轉換為分鐘,再寫邏輯判斷

好的,感謝感謝
回復

使用道具 舉報

ID:976573 發表于 2024-4-29 14:07 來自觸屏版 | 顯示全部樓層
188610329 發表于 2024-4-29 12:27
先說關鍵點:多條件并列判斷時,要用 && 比如:
if((Time[2] >12) && (Time[2]12  必定是 0x12  而不是 >12

好的,感謝感謝
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

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