Вывод больших цифр

Тема в разделе "Микроконтроллеры AVR", создана пользователем Максим B, 23 янв 2016.

  1. Максим B

    Максим B Гуру

    Добавил в код массив цифр и вывод их.
    Код (Text):

    byte LT[8] =
    {
      B00111,
      B01111,
      B11111,
      B11111,
      B11111,
      B11111,
      B11111,
      B11111
    };
    byte UB[8] =
    {
      B11111,
      B11111,
      B11111,
      B00000,
      B00000,
      B00000,
      B00000,
      B00000
    };
    ....
     
    Пример вывода 2-х цифр 0,1

    Код (Text):

    void custom0O()
    { // uses segments to build the number 0
      lcd.setCursor(x, 0);
      lcd.write(8);  
      lcd.write(1);
      lcd.write(2);
      lcd.setCursor(x, 1);
      lcd.write(3);  
      lcd.write(4);  
      lcd.write(5);
    }

    void custom1()
    {
      lcd.setCursor(x,0);
      lcd.write(1);
      lcd.write(2);
      lcd.setCursor(x+1,1);
      lcd.write(255);
    }
    .....
     
    Есть вывод температуры в 1-у строку, а я хочу переделать на большие цифры. Температуры считывается 1-й строкой (temperature(data)); - как правильно сделать вывод? Я уже весь интернет перелазил - не понимаю ((( Парсить строку - опять же как? СПАСИБО за любую помощь
    Код (Text):

    lcd.setCursor(0, 0);
         lcd.print("temp:");
         lcd.setCursor(5, 0);
         lcd.print(temperature(data));
         custom8();
         lcd.setCursor(10, 0);
         lcd.print("\x99");
         
     
     
  2. DrProg

    DrProg Вечный нерд

    Что то вы не то пишите. Явно чего то не хватает. Вот тут хороший пример создания символов и их вывода на экран.
     
  3. Максим B

    Максим B Гуру

    Ну вот смотрите- я сделал грубо говоря все цифры большими в памяти - теперь ка к правильно выводить температуру именно большими цифрами, если в переменной data хранятся значения -25.25, затем меняется на 30.00, потом снова изменяются значения. ???
     
  4. Максим B

    Максим B Гуру

    Вот такую функцию нашел по выводу символов. Взял здесь https://geektimes.ru/post/255812/ - может подскажете как к моей части кода приделать?
    Код (Text):

    void printDigits(int digits, int x){
      // utility function for digital clock display: prints preceding colon and leading 0

      switch (digits) {
      case 0:  
        custom0(x);
        break;
      case 1:  
        custom1(x);
        break;
      case 2:  
        custom2(x);
        break;
      case 3:  
        custom3(x);
        break;
      case 4:  
        custom4(x);
        break;
      case 5:  
        custom5(x);
        break;
      case 6:  
        custom6(x);
        break;
      case 7:  
        custom7(x);
        break;
      case 8:  
        custom8(x);
        break;
      case 9:  
        custom9(x);
        break;

      }