в моем проекте время с RTC модуля отображается в формате 00:00, как мне сделать так чтоб время будильника, который я выставляю тоже отображалось в формате 00:00. к примеру сейчас я выставляю минуты в формате "1,2,3,4...10", а необходимо чтоб они на LCD дисплее отображались в формате "01,02,03,04...10" в данном случае будильник установлен на 8 часов 5 минут
а как его вывести? сейчас минуты выводятся таким образом lcd.print(m); где m это переменная с минутами if (m<10){ lcd.print("0"m); } не работает...
да не видел, просто если я с часов запрашиваю минуты то приходит число 1, а если с подключенной их библиотекой запросить time то приходит 10:01, вот и начал думать что там какой-то тип записи применен, какой нибудь двоичный например... я хз, думал может это тип str вроде строки выводит...
ну если другого способа не найду то действительно пропишу условие и буду тупо добавлять ноль а потом переменную
А посмотреть как это сделано в библиотеке таймера и сделать аналогично только для минут? В библиотеке таймера от Амперки, например, так: (фрагмент функции возвращающей время в виде строки) ......... char buff[8]; ......... if (_minute < 10) buff[3] = '0'; else buff[3] = char((_minute / 10) + 48); buff[4] = char((_minute % 10) + 48); .........
Код (C++): lcd.setCursor(0, 0); if (hour < 10) lcd.print("0"); lcd.print(hour); lcd.print(":"); if (minute < 10) lcd.print("0"); lcd.print(minute);
И, кстати, обратите внимание что можно буффер подготовить за раз для всей строки со временем: Код (C++): sprintf(buffer, "%02d:%02d:%02d\n", hour, minutes, seconds);