![]() |
|
Модераторы: PILOT, ManiaK, Mazzi |
![]()
|
|
| 344092 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 3.6.2006 Репутация: нет Всего: нет |
Здравствуёте, я новичёк в написании программ для микроконтроллеров, вот имею дело с контроллером attiny2313. Вопрос такой, Необходимо на любой порт повесить микрофон и при двух хлопках на другом порте(пине) должен появиться лог1 если ещё хлопнуть 2 раза лог0. При 3 хлопках аналогично но на другой порт(пине) лог1 и лог0 . Чтото вроди включения света хлопками...но так же если хлопнуть 2 раза а через 5 секунд ещё 1раз хлопнуть, тройной хлопок не прошёл бы...(таймер счёта хлопков, например промежуток между хлопками 1сек)Пишу на CVavr
|
|||
|
||||
| smalcom |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 494 Регистрация: 16.10.2004 Где: Dnepr Репутация: 4 Всего: 7 |
в чем вопрос состоит?
-------------------- What DA F...??? |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 3 Всего: 154 |
на порт нельзя просто повесить микрофон, нужно использовать ADC, кстати есть раздел по программированию контроллеров
|
|||
|
||||
| 344092 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 3.6.2006 Репутация: нет Всего: нет |
Вопрос состоит в том, как заставить гореть светодиод на ножке выхода (например PORTB.1). При замыкании ножки входа но не 1 раз а 2....как бы счётчик Например
А как сделать при ./ проверить "1" на линии 1 порта D дважы??? // Если дважды лог1 есть значит PORTB |= _BV(PB1); // установить "1" на линии 1 порта B |
||||
|
|||||
| Mazzi |
|
|||
|
Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: 9 Всего: 21 |
Вот тебе решение.
Повторять_пока (истина) { Если (хлопок) { Если (мы_сейчас_ожидаем_первый_хлопок) { переходим_в_режим_подсчёта_хлопков(); счётчик_хлопков++; запускаем_таймер_таймаут_ожидания очередного_хлопка(); } иначе // если мы ожидаем очередной хлопок { счётчик_хлопков++; перезапускаем_таймер_таймаут_ожидания очередного_хлопка(); } } Если (сработал_таймер_таймаут_ожидания очередного_хлопка) { переходим_в_режим_ожидания_первого_хлопка(); ОБРАБАТЫВАЕМ_СЧЁТЧИК_ХЛОПКОВ(); } } Удачи! -------------------- Мне нужны помощники. |
|||
|
||||
| 344092 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 3.6.2006 Репутация: нет Всего: нет |
Спасибо Mazzi
Это сообщение отредактировал(а) 344092 - 4.11.2008, 18:42 |
|||
|
||||
![]()
|
| Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |