Вы не вошли.
Просто дать задержку нельзя, так как считанное состояние может быть вызвано дребезгом и отличаться от установившегося. Нужно убедиться, что состояние кнопки не меняется некоторое время, и только после этого можно производить действие.
Да я уже понял, и даже написал то, что нужно. Тока ничего не запоминал, а все сделал с помощью команд sbis и sbic. Сегодня если время будет, попробую. 20 мс может и хватит на окончание дребезга, но чтоб защититься на все 100% лучше конечно сделать так как вы сказали. Тока я взял не 20 мс, а 16 с копейками. 1 период переполнения ТС0 при 4 МГц и прескалере СК/256. Думаю, достаточно будет.
......There is someone in my head, but it's not me.......
Вне форума
Я делал сканирование состояния каждіе 5 мс (по преріванию таймера). Если все 4 раза подряд скан один и тот же - значит кнопка нажата...
Почему когда мы нарушаем, нас штрафуют, а когда всё делаем правильно, с нас берут налоги?....
Вне форума
2 Liv
Вы мне писали про то, как подавить дребезг кнопки..
Где ты, ВВ79? ..
Учите матчасть!
Вне форума
Причем здесь ВВ79?? там были кнопки другие? без дребезга?? Или тмблеры ТМ2?
......There is someone in my head, but it's not me.......
Вне форума
Причем здесь ВВ79?? там были кнопки другие? без дребезга?? Или тмблеры ТМ2?
Аппаратное подавление дребезга, обработка функциональных клавиш и очередь кодов нажатых клавиш..
Это так.. ностальгия
Учите матчасть!
Вне форума
Да я уже понял, и даже написал то, что нужно. Тока ничего не запоминал, а все сделал с помощью команд sbis и sbic.
Без запоминания ничего не получится в принципе.
Тока я взял не 20 мс, а 16 с копейками. 1 период переполнения ТС0 при 4 МГц и прескалере СК/256. Думаю, достаточно будет.
Достаточно.
Где ты, ВВ79?
Навеяли воспоминания. Вот фотография платы моего первого процессора для кассетной деки на основе ЛПМ от "Вильмы":
Отредактировано Liv (26.09.2006 22:33:43)
Вне форума
Без запоминания ничего не получится в принципе.
Почему? По-моему нам надо знать, не изменилось ли состояние нажатой кнопки через 20 мс после первого опроса. Только и всего. Для этого не обязательно это состояние в память заносить. По-моему.
......There is someone in my head, but it's not me.......
Вне форума
Да нигде оно храниться не должно. Смотрим. Если нажали - даем задержку. После задержки смотрим снова. Если досих пор нажата делаем действие, нет - цикл. Зачем запоминать состояние кнопки?? До задержки опрашивали порт и после опрашиваем. У АВР-ов есть команды sbic (пропустить, если бит в порту очищен) и sbis (пропустить если бит в порту установлен).
У кнопки 2 состояния - 0 или 1. Никак в толк не возьму нафига запоминать. (в моем понимании запомнить - это присвоить состояние кнопки какой-то переменной, например PWR_BTN_MODE).
......There is someone in my head, but it's not me.......
Вне форума
- Панимаете, уважаемый судья, истец, шоол, на апэлсинэ пацкальзнулься, на мой ножик сам упал!
- Но ответчик, у истца 25 ножевых ранений!
- Да-да! Вот так 25 раз подряд!
-----------------------------------------------
Ваша"простота" хороша только для случая одной единственной кнопки, или же ее придется повторять ровно столько раз, сколько у Вас будет кнопок. Да и с комбинацией нескольких одновременно нажатых кнопок - тоже облом-с!!!
Почему когда мы нарушаем, нас штрафуют, а когда всё делаем правильно, с нас берут налоги?....
Вне форума
[ Сгенерировано за 0.057 сек, 7 запросов выполнено - Использовано памяти: 603.05 Кбайт (Пик: 653.41 Кбайт) ]