Advertisement
Guest User

проект led matrix часов (4 модуля 8x8)

a guest
Sep 1st, 2015
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.34 KB | None | 0 0
  1. #define  BUF_SIZE  75
  2. char message[BUF_SIZE] = {"Hello!"};
  3.  
  4. char *p2dig(uint8_t v, uint8_t mode)
  5. // 2 digits leading zero
  6. {
  7.   static char s[3];
  8.   uint8_t i = 0;
  9.   uint8_t n = 0;
  10.  
  11.   switch(mode)
  12.   {
  13.     case HEX: n = 16;  break;
  14.     case DEC: n = 10;  break;
  15.   }
  16.   if (v < n) s[i++] = '0';
  17.   itoa(v, &s[i], n);
  18.  
  19.   return(s);
  20. }
  21.  
  22. void loop()
  23. {
  24. RTC.readTime();
  25. //if (dv==':')dv='~' ;else dv=':'; это чтоб курсор мигал, пока не надо. тильда потому что на нее короткий пробел закодирован
  26. int ost=atoi(p2dig(RTC.s, DEC))%10; //это чтобы каждые 5 сек менялось время или температура
  27. if (ost>=0 & ost<6) {
  28. String str=String(p2dig(RTC.h, DEC))+":"+String(p2dig(RTC.m, DEC)); //тут замучился с записью в message поэтому сделал
  29. strcpy(message,str.c_str()); //так, наверняка неправильно
  30. }
  31. else
  32. dtostrf(RTC.readTempRegister(),1,0, message); //RTC.readTempRegister() возвращает float мне достаточно без запятой
  33. if (RTC.readTempRegister()>0) strcpy(message,'+'); //вот это совсем не поборол как просто добавить '+' или '-' впереди
  34. printText(0, MAX_DEVICES-1, message); //message
  35. delay(1000);
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement