OSDev

для всех
Текущее время: 06 май 2024, 14:00

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 02 янв 2013, 01:17 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
Оброботку прерывания таймера я просто отключал, а на прерывания клавиатуры я назначал обработчик таймера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 02 янв 2013, 01:28 
Аватара пользователя

Зарегистрирован: 16 апр 2010, 10:10
Сообщения: 320
Откуда: Псковская обл.
Как бы обработчик клавиатуры сильно сложнее. Нужно обработать нажатия. Это значит написать код для обработки. И поверить как всё работает - написать тестовый код. Складывается впечатление - что это сложно для вас, посмотрите примеры из Зубкова. Или читать www.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 02 янв 2013, 01:36 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
Есть вот такой обработчик
Код:
idt_irq_0_handler:
align 1

    push ax
    i8259_1_eoi
   
    pop ax
    iretd

Он просто выводит строчку на екран, и посылает EOI
Но когда я назначаю его на IRQ 1 он не вызывается
А когда он назначен на IRQ 0 все нормально
А обработчик клавиатуры у меня есть, только он на С написан, конечно не супер наворочаный на работал нормально.
Да и сложного там ничего нет: прочитать значение из порта и вывести на екран символ с таблицы


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 02 янв 2013, 01:56 
Аватара пользователя

Зарегистрирован: 16 апр 2010, 10:10
Сообщения: 320
Откуда: Псковская обл.
Если выводить что-то на экран, то можно проверить сам факт прерывания - это да. Попробуй в цикле перебрать все номера. Или может нужно разрешить прерывание. Я помню что писал обработчик клавиатуры в PM, но всю предшествующую настройку копипастил из примеров. При чем несколько раз тупо перебирал - пока не заработало. Если неохота вникать в тех. подробности перепрограммирования прерываний - это сработает (перебор,в смысле).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 02 янв 2013, 02:10 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
Прерывания таймера работает значит они разрешены, вроди нечего не замаскировано.
Наверное самый наивный вопрос: после 0х20 идёт 0х21?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 02 янв 2013, 02:11 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Stalker писал(а):
Есть вот такой обработчик
Код:
idt_irq_0_handler:
align 1

    push ax
    i8259_1_eoi
   
    pop ax
    iretd

Он просто выводит строчку на екран, и посылает EOI
Но когда я назначаю его на IRQ 1 он не вызывается

Он не может вызваться без обработчика IRQ 0 по причине приоритетности. Нельзя просто поменять IRQ 0 на IRQ 1, нужно добавить IRQ 1, либо замаскировать IRQ 0.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 02 янв 2013, 02:48 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
погрес есть
но обрабатывается только первое нажатие))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 02 янв 2013, 02:56 
Аватара пользователя

Зарегистрирован: 16 апр 2010, 10:10
Сообщения: 320
Откуда: Псковская обл.
Вот теперь скорее обработчик. Я бы начал с написания кода для отладки- типа посмотреть что в определенных местах за цифры-значения и тому подобное.
Потом гонять в разных комбинациях до выявления всех проблем - это не совет ,скорее рецепт. Проверенный на 100 %.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 02 янв 2013, 03:07 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
Cпс, у винде как буду образ попробую в борщ засунуть. мо что полезное увижу))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: IRQ
СообщениеДобавлено: 02 янв 2013, 03:22 

Зарегистрирован: 26 сен 2012, 21:14
Сообщения: 26
iz56 вы были правы, в инете первый обработчик скопипастил и работает нормально


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB