Не совсем представляю как из обычного сделать рекурсивное? То есть чтоб могло само себя прерывать..
Пишу я для 51-го
Не надо рекурсивных прерываний, тем более вы хотите ждать в прерывании секунду (такие задержки в прерываниях - плохой тон и объектвно их быть не должно) Выход в следующем: в прерывании выставляйте флаг - показать номер, и выходите из прерывания, в основном цикле выполняйте ф-ю "показать номер". Если прерывание возникает еще раз во время выполнения ф-и то оно обработается своим обработчиком и снова установится флаг. Можно вместо флагов придумать счетчик нажатий или еще что-то, в общем решений куча.ytkopobot писал(а): Получается что моё прерывание должно прерваться собой же...
вот.
Сказали что это называется рекурсивное прерывание:)
Код: Выделить всё
прерывание_от_кнопки()
{
таймаут = одна_минута;
++индекс_номеров; // можно еще проверять на выход за верхнюю границу
}
прерывание_от_таймера()
{
if (индекс_номеров && !--таймаут)
{
--индекс_номеров;
}
}Да, милое, если ресурсы процессора больше не на что тратить.mackerel писал(а): с поллингом подавление дребезга - милое дело, если состояние кнопок (любого количества, причём) не меняется N циклов...