Доброго времени суток! Я только начинаю осваивать прогр. AVR на С через CodeVision
Как можно осуществить:
поочерёдное переключение трёх светодиодов одной кнопкой?
поочерёдное переключение трёх подпрограмм?
Желательно с комментарием.
Переключение режимов одной кнопкой
- Реклама
- dr.doc
- Это не хвост, это антенна
- Сообщения: 1368
- Зарегистрирован: Вс мар 28, 2010 12:52:22
- Откуда: Беларусь
Re: Переключение режимов одной кнопкой
В качестве подсказки: Циклический кольцевой счетчик, вместо 4-ки в котором всегда будет получаться 1 при увеличении. Изменение проводить при гарантированной защите от дребезга (задержка). Каждому значению счетчика соответствует свой светодиод (условие) или подпрограмма.
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
- romazan
- Потрогал лапой паяльник
- Сообщения: 335
- Зарегистрирован: Чт май 21, 2009 13:54:07
- Откуда: Москва
- Контактная информация:
Re: Переключение режимов одной кнопкой
Как-то вот так
Код: Выделить всё
unsigned char a;
while(1){ ;вечный цикл
if(PINB & 0x1) { ; если нажата первая кнопка 0х1
a++;
if(a>N) a=1;
switch a{
case 1: function1(); break;
case 2: function2(); break;
case 3: function3(); break;
case N: functionN(); break;
...
}
}
}-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: Переключение режимов одной кнопкой
ну сколько раз было сказано: не давайте плохих советов, не советуйте, если сами еще не понимаете, как оно все работает! нельзя определять состояние кнопки тупым однократным опросом пина!romazan писал(а):Как-то вот такКод: Выделить всё
if(PINB & 0x1) { ; если нажата первая кнопка 0х1
есть же отдельная тема (кстати, не единственная - про кнопки регулярно вопрошают), читайте ее, начиная отсюда: http://www.radiokot.ru/forum/viewtopic. ... 8#p1110548
битва с дураками проиграна, победители торжествуют. слава победителям!
- romazan
- Потрогал лапой паяльник
- Сообщения: 335
- Зарегистрирован: Чт май 21, 2009 13:54:07
- Откуда: Москва
- Контактная информация:
Re: Переключение режимов одной кнопкой
Д понятно что простого опроса тут не достаточно, из-за дребезга все хаотично будет. Я человеку пример реализации показал, так как если его просто скопировать, он все-равно работать не будет
- Реклама

