Скажите пожалуйста как сделать код. часы и минуты, как сделать если минут больше "60", то сбрасывалось на ноль... То есть в моем случае отображается - 1h 61m А хочется так - 1h 1 m Код (Text): GLCD.CursorTo(3, 1); //перемещаем курсор на стройку с отчетом времени минута GLCD.print(millis()/60000); //печатаем время в минутах GLCD.CursorTo(5, 1); GLCD.print("m"); GLCD.CursorTo(1, 1); //перемещаем курсор на стройку с отчетом времени час GLCD.print(millis()/3600000); //печатаем время в часах GLCD.CursorTo(2, 1); GLCD.print("h");
Код (Text): unsigned int mm = millis()/60000; unsigned int hh = millis()/3600000; while(mm>60) mm=-60; //обрезаем минуты, если значение больше 60 while(hh>60) hh=-60; GLCD.CursorTo(3, 1); //перемещаем курсор на стройку с отчетом времени минута GLCD.print(mm); //печатаем время в минутах GLCD.CursorTo(5, 1); GLCD.print("m"); GLCD.CursorTo(1, 1); //перемещаем курсор на стройку с отчетом времени час GLCD.print(hh); //печатаем время в часах GLCD.CursorTo(2, 1); GLCD.print("h");
всем спасибо, проблему решил так... еще и модифицировал, добавил нолики) Код (Text): unsigned long ontime = 86397000; void setup() { GLCD.Init(); GLCD.ClearScreen(); } String time() { byte ss = ((millis()+ontime)/1000UL)%60; byte mm = (((millis()+ontime)/1000UL)/60UL)%60; byte hh = (((millis()+ontime)/1000UL)/3600UL)%24; String result = ""; if(hh < 10) result += '0'; result += String(hh) + ':'; if(mm < 10) result += '0'; result += String(mm) + ':'; if(ss < 10) result += '0'; result += String(ss); return result; } void loop() { GLCD.CursorTo(1, 1); //перемещаем курсор на стройку с отчетом времени GLCD.print(time()); //печатаем время }