Библиотека HT1621B

не забудьте поставить ему метку “вопрос решен”

1 лайк

И Вы его послушали?

Чёт не пойму, кто в доме хозяин? Кто тут альфа-самец, Вы или компилятор?

@v258 приготовиться! :slight_smile:

1 лайк

Не-не. Всё отлично работает. Прям огонь!

вчера тоже переделал этот проект на ArduinoIDE. переделал массив сегментов.

uint8_t disp_memory[]=
{
//a  b c   d   e   f   g    .   :
85, 1,87,91,90,89,86, 3, 0,    // Первое знакоместо
 9,10,11, 7, 2, 5, 6,15,13,
81,82,83,19,14,17,18,79, 0,
21,73,74,23,78,77,22,71,75,
25,65,66,27,70,69,26,63, 0,
29,57,58,31,62,61,30,55,59,
33,49,50,35,54,53,34,47, 0,
37,41,42,39,46,45,38, 0, 0   // Последнее знакоместо
};

uint8_t disp_digit[]=
{
0b00111111,// 0
0b00000110,// 1
0b01011011,// 2
0b01001111,// 3
0b01100110,// 4
0b01101101,// 5
0b01111101,// 6
0b00000111,// 7
0b01111111,// 8
0b01101111,// 9
0b01110111,// A
0b01111100,// b
0b00111001,// C
0b01011110,// d
0b01111001,// E
0b01110001,// F
0b01111000,// t
0b01100011// grad
}; 
.....
      //  Display_Clear();
          byte pos = 2;
          byte digit = 5;
        byte poz,ni;
        for (byte i=0;i<8;i++) {
          ni=(disp_memory[pos*9+i]>>3);
          poz=disp_memory[pos*9+i]&0b00000111;
           if (bitRead(disp_digit[digit],i)) bitSet(Buffer[ni],poz-1);
           else bitClear(Buffer[ni],poz-1);
          } 
      Display_Update();

первый массив хранит номер бита в памяти HT1621, отвечающий за отображение сегмента знакоместа индикатора. второй массив - отображение символа.