Доброго дня, делаю превые шаги в CAVR. Делаю устройство с выводом информации на 7 сегм. двух разрядный индикатор, помогите разобоатся в вашем коде,
#define A1
Первое: В коде ниже RB5 это порт? Т.е. можно делать так #define A1 PORTB.5
В отрисовке мне непонятно, что такое b0...b7.
И как мне вообще вывести m=33 к примеру?
Заранее благодарен за ответы.
#define A1
Первое: В коде ниже RB5 это порт? Т.е. можно делать так #define A1 PORTB.5
Код: Выделить всё
// === сопоставление сигнальных линий индикатора
// первый сегмент (десятки)
#define A1 RB5
#define B1 RB4
#define C1 RA0
#define D1 RA7
#define E1 RA6
#define F1 RB7
#define G1 RB6
#define H1 RA1
[b]#define Y1 RA2 // общ катод[/b]
// второй сегмент (единицы)
#define A2 RB5
#define B2 RB6
#define C2 RA6
#define D2 RA0
#define E2 RA1
#define F2 RB4
#define G2 RA7
#define H2 RB7
[b]#define Y2 RA3 // общ катод[/b]И как мне вообще вывести m=33 к примеру?
Код: Выделить всё
// === рисуем сегменты
void ris (unsigned char zn, unsigned char s)
// zn - знакоместо, s - собственно символ
{ if (zn == 1) {
tmp = sim[s];
A1 = tmp.b0;
B1 = tmp.b1;
C1 = tmp.b2;
D1 = tmp.b3;
E1 = tmp.b4;
F1 = tmp.b5;
G1 = tmp.b6;
H1 = tmp.b7;
}
if (zn == 2) {
tmp = sim[s];
A2 = tmp.b0;
B2 = tmp.b1;
C2 = tmp.b2;
D2 = tmp.b3;
E2 = tmp.b4;
F2 = tmp.b5;
G2 = tmp.b6;
H2 = tmp.b7;
}
}