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