25.02.2013, 07:56 | #51 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799 |
Я так понимаю нужно просто установить задержку по времени между срабатываниями, delay в прерывании не работает - сделать просто цикл? Это вопрос к людям.
А к vadymkyr - сколько по времени у тебя длится дребезг -какая кнопка -можешь измерить? |
25.02.2013, 21:47 | #52 |
Junior Member
Регистрация: 21.02.2013
Адрес: Севастополь
Возраст: 33
Сообщений: 7
Вес репутации: 0 |
|
25.02.2013, 23:04 | #53 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Можно использовать встроенную библиотеку #include <util/delay.h>
Она не использует таймер |
26.02.2013, 08:00 | #54 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799 |
Это хорошо, только вот что-то у меня в Arduino 1.0 её нет. Попробую найти. А в целом просто её подключаем и в обработчике прерывания по PCINT первым делом ставим задержку типа delay_ms(20)( а у нас лампочка в это время не погаснет - ведь прерывания по таймеры тож не будут обрабатываться? А 20 не мало -видимо это надо подпирать эксперементальным путем приминительно к кнопке) а потом уже анализируем состояние портов
|
26.02.2013, 10:07 | #55 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Я обычно использую задержку от 10мс до 30мс
Можно так же использовать обычный delay() Только при входе в обработчик нужно отключить прерывание по входу, а при выходе из обработчика снова включить |
27.02.2013, 08:43 | #56 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799 |
vadymkyr - ты понял как скеч усовершенствовать или мне полный вариант выложить с добавлением задержки? Я конечно её добавлю, но планировал сделать это чуть позже
|
28.02.2013, 15:01 | #57 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799 |
Завтра должен получить железо, так что начиная с выходных смогу экспериментировать с железом. Как оказалось, что даже в таком городе как Уфа нефиксируемые выключатели не на каждом углу продаются
Последний раз редактировалось Bulatovor; 28.02.2013 в 15:03. |
08.03.2013, 11:01 | #58 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799 |
Сегодня нашел наконец библиотеку delay.h, оказывается она есть в Arduino? только глубоко закопана. Я так понимаю по умолчанию там она опирается на частоту проца в 1 МГц, соответственно мне нужно править библиотеку на 16 Метров?
|
08.03.2013, 14:52 | #59 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
В библиотеке nanopins добавил delay_us() и delay_ms()
За основу взял либу delay.h |
08.03.2013, 17:51 | #60 |
Senior Member
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799 |
Спасибо. Совсем универсальная библиотека становится. Эта функция настороена на 16 Мгц?
|
Здесь присутствуют: 71 (пользователей: 0 , гостей: 71) | |
|
|