Если разные порты входов-выходов, то единственный выход, отдельные переменные-буферы под входы и выходы. Пусть у нас будет переменная segmentes (сегменты), com-outputs (общие светодиодов). Пример под один порт сегментов, один порт общих выходов. seven_segm_led_ind.h: Спойлер
//================== #define ANOD_1 1<<2 #define ANOD_2 1<<3 #define ANOD_3 1<<4 #define ANOD_4 1<<5 #define ANOD_5 1<<6 #define ANOD_6 1<<7 //---------- #define A 1<<6 #define B 1<<7 // A #define C 1<<3 // F B #define D 1<<2 // G #define E 1<<1 // E C #define F 1<<5 // D #define G 1<<4 #define H 1<<0 //---------- #define ZERO (A | B | C | D | E | F) #define ONE (B | C) #define TWO (A | B | D | E | G) #define THREE (A | B | C | D | G) #define FOUR (B | C | F | G) #define FIVE (A | C | D | F | G) #define SIX (A | C | D | E | F | G) #define SEVEN (A | B | C) #define EIGHT (A | B | C | D | E | F | G) #define NINE (A | B | C | D | F | G) #define SPACE 0
#define CHAR_SPACE 10 //==================
//================== #define MAX_LED_INDS 6
#define ANODS_MASK (ANOD_1 | ANOD_2 | ANOD_3 | ANOD_4 | ANOD_5 | ANOD_6) #define KATODS_MASK (A | B | C | D | E | F | G) //==================
case 2: if (handle_soft_timer (ST_PROC_7_SEGM_IND)) { u08 cnt = cnt_7_segm_ind;
u08 anods; u08 katods;
ANODS_PORT = 0; // В этом месте отключаем светодиоды. Если разные порты, KATODS_DDR = 0; // значит будет функция или строки, в которых отключение всех пинов всех портов под светодиоды.
все мои таймеры скоммуниздены практически на каждый радиолюбительский сайт...
О каких таймерах идет речь? Можно ссылки?
P.S. Можно успокоить себя тем, что ваши поделки имеют популярность. Вы знаете, что это ваши проекты, и это самое главное. У меня был когда-то случай. Писал удаленный проект. Подразумевалось, что частнику. Потом я узнал, что этот проект оказался коммерческим, для серийного изделия.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения