[uquote="Albert_V",url="/forum/viewtopic.php?p=3257410#p3257410"]С какой дискретностью (какой шаг) от 100 мкс до 400 мс?[/uquote]
Если честно, я не задавался этим вопросом, поэтому встречный вопрос: а какие есть варианты?
[uquote="КРАМ",url="/forum/viewtopic.php?p=3257494#p3257494"][uquote="Albert_V",url="/forum/viewtopic.php?p=3257383#p3257383"]Кнопка, для пользователя, должна сработать максимально быстро[/uquote]
Зачем? Реакция человека на подобные события определяется величиной 0,1...0,2 сек.
Кнопка - типичное устройство НЕ реального времени.
[uquote="SpeedFighter",url="/forum/viewtopic.php?p=3257408#p3257408"]Но я, честно говоря, не понял, в чем преимущество таймера для опроса кнопок в ДАННОЙ программе.
А вот преимущество задержки через таймеры - я вижу, но как сделать задержку от 100 мкс до 400 мс, если таймер TMR2 может только до 65 мс задерживать?[/uquote]
Преимущество в "прозрачности" такого алгоритма для остального кода. И отличной переносимости в практически в ЛЮБОЙ код. Делать нужно сразу правильно.
Про задержки.
Таймер генерирует лишь МИНИМАЛЬНЫЙ ДИСКРЕТ времени, а остальное реализуется ПРОГРАММНЫМ счетчиком ВНУТРИ ОБРАБОТЧИКА прерываний от таймера.[/uquote]
Насчет опроса кнопок:
1. После выполнения функции прерывания, микроконтроллер вернется на какой этап? С того момента, на котором прервался? Даже если был в цикле?
2. Если сделать глобальную переменную и в обработчике прерываний сделать присваивание этой переменной какого-либо числа, то сохранится ли в ней значение?