ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
20 мая
298820 Топик полностью
ыыыы (12.01.2012 17:31, просмотров: 1) ответил Evgeny_CD на Прерываний может быть больше 32. А так было бы красиво. Считал нечто из памяти. Считал переменную, проверил, было ли прерывание, и принял решение. Хотя можно читать и кучу переменных флагов - но это все время, время...
чет я не понял : есть переменная, которую инкрементируют все обработчики прерываний (ну типа ARM с VIC или что-то такое), перед обработкой структуры сделали локальную копию, после обработки проверили, что равны (если не равны - были прерывания). также во многих архитектурах есть систем_каунтер, который молотит на тактовой процессора (да и без этого такой счетчик организовать не проблема), точно так же сохранили перед обработкой, после обработки вычли из нового значения, если слишком дофига - значит было прерывание (тут конэчно есть ньюансы - типа кэш контроллеры, выборки из DRAM и т.п. могут подгадить, но для некоторых случаев - ОК)