Ксения (11.08.2013 17:03 - 17:11, просмотров: 220) ответил mazur на Хидер:
Вы выражение "kbd_states _keys = KEYS_NONE;" без хидера компилировать пытались? Напрасно! Откуда компилятору без хидера знать, что такое kbd_states? Определитесь, кто у вас _keys, u08 или kbd_states, выберите что-то одно.
Попробуйте написать так:
#include хидер
enum kbd_states _keys;
void main(void)
{
_keys = KEYS_NONE;
PINA=0xFF;
init_sys_timer();
sei();
while(1)
{ service_timers();
kbd_drv();
}
}
Поглядите в асемблерном листинге, в один или два байти скомилировался _keys. Если в два байта, то экономнее объявить _keys, как u08. Присваивать ему enum-значение это не помешает.