Разрабатываю программу для PIC24F. Необходимо более-менее придерживаться стандарта. У меня вопрос следующий...
Обычно все переменные я объединяю в структуры, группирую по назначению
Код
typedef struct {
alt_buttons* buttons; //ссылка на массив кнопок
unsigned char max_key_num; //число кнопок в клавиатуре
.......
unsigned char alpha; //прозрачность клавиатуры
} alt_keyboard;
alt_buttons* buttons; //ссылка на массив кнопок
unsigned char max_key_num; //число кнопок в клавиатуре
.......
unsigned char alpha; //прозрачность клавиатуры
} alt_keyboard;
Это удобно, т.к. список аргументов функций будет представлять собой не кучу всяких переменных, а лишь одну структуру (или несколько).
Правильно, вроде как, считается создавать локальные переменные и передавать их затем в качестве аргумента. Например, в main:
Цитата
void main (void) {
alt_keyboard keyboard;
system_init (&keyboard);
alt_keyboard keyboard;
system_init (&keyboard);
Но вот необходимо обрабатывать прерывания. Как же быть там? Получается, нужно работать с глобальными переменными.
Это плохо? Кто как поступает?
Можно основные переменные (например, клавиатура, дисплей и т.п.) сделать глобальными и работать с ними из любой функции. Не?