ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 ноября
74806 Топик полностью
MegaJohn (28.11.2006 16:31, просмотров: 1) ответил POV на Вопрос к спецам в Си...
в догонку, меня это тоже интересует, а конкретно взаимодействие между к примеру ползьовательской main и готовым драйвером. [+] в данный момент сделано так ************************** ********* main.c ********* ************************** u8 ps2_incoming = 0, ps2_scancode; while (true) { if (ps2_incoming) //Если установлен флаг то принят байт и следует его обработать ps2_incoming_decode (ps2_scancode); } ************************** ********* keyb.c ********* ************************** extern u8 incoming, scancode; void ps2_incoming_decode (u8 scancode) {...}; вектор прерывания { scancode = data; incoming = 1; } Пояснение: в main.c обявлена переменная incoming, scancode. при приёме данного в векторе прерывания, который описан в keyb.c в scancode пишется пришедший байт, а в incoming пишется еденица как признак что что-то пришло в main в цикле проверяется флаг и если он установлен то вызывается из луниюс функция разбора. Вообщем так. Хочется отвязатся от extern или как-то почеловечески, общеупотребительно