не забудьте поставить ему метку “вопрос решен”
1 лайк
И Вы его послушали?
Чёт не пойму, кто в доме хозяин? Кто тут альфа-самец, Вы или компилятор?
@v258 приготовиться!
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, отвечающий за отображение сегмента знакоместа индикатора. второй массив - отображение символа.