|
Добрый вечер,
тини15.
есть прерывание по переполнению таймера0 и прерывание по INT0. Хотелось бы понять, если проц вошел в обработчик прерывания таймера, то есть гарантия что пока он его не выполнит полностью, он не запустит прерывание по INT0?
Далее, с помощью прерывания переполнения таймера пытаюсь реализовать 16ти битный таймер, т.е. при каждом переполнении тупо увеличиваю значение старшего регистра воображаемого таймера.
Теперь ситуация: допустим таймер отщелкал уже число 255, потом случилось прерывание INT0, начал выполняться обработчик INT0, во время выполнения таймер0 переполняется (т.е. по идее должно вызваться прерывание), но в теле INT0 мы считываем оба значение таймера, обнуляем таймер0 и нам уже обработчик по переполнению в данном случае неинтересен (уже все что надо узнали), вызовется ли обаботчик переполнения или нет? т.е. нуна контролировать эту ситуацию? (например какой-нить флажок сбросить в управляющих регистрах?) иначе ведь, если выховется прерывание по переполнению то значение воображаемого таймера увеличится на 256, хотя в данном случае это не надо.
Заранее благодарен за ответ.
E-mail: info@telesys.ru