[an error occurred while processing this directive]
|
В вашем устройстве должен быть специальный регистр-статуса. Который драйвер должен в момент обработки прерывания считать. В этом регистре должна будет содержатся информация о том, эта ли карта сгенерировала прерывания и всевозможная прочая вспомогателная информация на ваше усмотрение. Так вот, в момент обработки прерывания ваш драйвер считывает этот регистр, анализирует и если именно от этой карты пришло прерывание, то начинает его обработку, если нет, то передает управление следующему обработчику висящему на этом прерываниеии.
Обработка прерывания заключается в том, что бы плата убрала с шины прерывание, для этого обычно ваш обработчик прерываний должен что либо записать в вашу плату, врезультате чего прерывание с шины убирается. Обычно драйвера и платы строятся таким образом, что после анализа регистра статуса драйвер записывает в этот же регистр то значение которое он и считал, а сама плата уже записывает непосредственно в регистр в случае если прерывание действительно есть допустим нули и убирает с шины прерывание, если же прерывания нет, то записывает заданное значение.
E-mail: info@telesys.ru