Часы, анимация настройки.

ckret
Offline
Зарегистрирован: 04.05.2018

Добрый вечер, подскажите, как правильно сформировать sprintf для анимации настройки времени, когда мигают часы. Спасибо!

 if(flashShowTimer + 1000 <= millis()){
      flashShow = !flashShow;
      flashShowTimer = millis();

       sprintf(szMesg, "%02d%c%02d", (flashShow ? minute() : NULL),":" , minute());
      }     
   

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Что мигать-то должно по задумке?

ckret
Offline
Зарегистрирован: 04.05.2018

На матрице 8x8 при настройке времени цифры часов или минут.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

цифровой автомат. Если не знаете , то подтяните свои знания.

ckret
Offline
Зарегистрирован: 04.05.2018

Если правильно нагуглил, то это про Switch ?!

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ckret пишет:

Если правильно нагуглил, то это про Switch ?!

нет, это Пух - распространитель, всем раздает пока бесплатно, пока не втянешься.  

sadman41
Offline
Зарегистрирован: 19.10.2016

ckret пишет:

На матрице 8x8 при настройке времени цифры часов или минут.

Относительно кода: printf, руководствуясь шаблоном с модификатором %02d будет пытаться трансформировать переменную в ASCII-представление числа вне зависимости от того, что вы ему там суёте. А число не бывает пустым местом. Пустой может быть строка.

Соотвественно - printf должен оперировать уже подготовленной строкой, которая подменяется то на ASCII представление числа, то на "пусто". Если оставаться в вашей концепции, то требуется добавить ещё несколько операторов и применить модификатор %s. Или же вызывать два printf-а по очереди с разными format string.

ckret
Offline
Зарегистрирован: 04.05.2018

Я наверно так и поступлю, когда уже 1к строк написал и до фишина остается не много, обидно полтора дня бится над проблемой базового уровня. Как обычно, бывает решение на одну строчку, но из за пробелов в знаниях приходиться заниматься быдлокодерством )) Спасибо за развернутую подсказку.