標題: 關(guān)于單片機+DS1302時鐘調(diào)時 [打印本頁]

作者: egsresrhtrhrtst    時間: 2023-3-22 23:31
標題: 關(guān)于單片機+DS1302時鐘調(diào)時
有個問題請教一下各位case 2:if(time_data[2]==12)time_data[2]=00;                else if(time_data[2]<12)time_data[2]++;break;        


此函數(shù)是調(diào)時函數(shù)里月份的那一段,判斷time_dat[2]如果到了12就=0,如果不到就繼續(xù)加1,
現(xiàn)在的效果很正常到了12在按下按鍵就變成00,但是我有個關(guān)于if else if程序執(zhí)行流程疑問就是,如果按鍵按下后,time_dat[2]=12那么time_dat[2]=00
然后再判斷time_data[2]<12成立因為time_data[2]=00,然后就++不是應(yīng)該是00++=1了嗎,為什么是0

作者: cwb2038    時間: 2023-3-23 08:41
兩者不是同時起作用的,只能二選一,也就是說if(time==12)成立的話,執(zhí)行語句time_date[2]=00;否則if(time_[2]<12)成立的話,執(zhí)行語句time_data[2]++;break; 兩者不會沖突
作者: egsresrhtrhrtst    時間: 2023-3-23 10:28
cwb2038 發(fā)表于 2023-3-23 08:41
兩者不是同時起作用的,只能二選一,也就是說if(time==12)成立的話,執(zhí)行語句time_date[2]=00;否則if(ti ...

奧,好的明白了,感謝
作者: zhuls    時間: 2023-3-23 10:53
if (++time_data[2]>=12) time_data[2]=0; break;//用這個來替代你的試試?
作者: egsresrhtrhrtst    時間: 2023-3-25 15:18
zhuls 發(fā)表于 2023-3-23 10:53
if (++time_data[2]>=12) time_data[2]=0; break;//用這個來替代你的試試?

感謝,更加簡潔了




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