Цитата(Men @ Mar 25 2009, 20:43)

Доброго времени суток товарищи.
Не могу разобраться как работает прерывание.
Поясните если возможно, желательно на примере(си).
1) вы в СОПС билдере назначаете прерывание от устройства на какой-то номер процессору
2) в софте вы пишете обработчик (ISR)
3) в софте привязываете обработчик к таблице прерываний alt_irq_register
4) снимаете маску с вашего прерывания alt_irq_enable
5) разрешаете прерывания вообще alt_irq_init (в 3м контрольном регистре), если они еще не были разрешены
Для отладки, можно для начала последний пункт исключить, а вместо таблицы использовать поллинг 4го контрольного регистра и, соответственно, вызов вашего обработчика как обычной функции. Если так заработает, то уже пытаться полноценно обрабатывать.