Мелкие вопросы по МК и ПЛИС.
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Насколько я понял - в "ТЗ" ещё речь шла о времени через какое нужно переключать.
Тут 2 пути - либо задействовать таймеры, либо ставить счётчик. Второе для начинающего предпочтительнее.
Тут 2 пути - либо задействовать таймеры, либо ставить счётчик. Второе для начинающего предпочтительнее.
Re: Мелкие вопросы по МК и ПЛИС.
vitalik_1984 А работать должна так - нажимаем первую кнопочку сразу загорается первый светодиод после 5 сек загорается 2 светодиод . если нажата 2 кнопочка загорается и 3 светодиод а если не нажата то 2 светодиод должен гаснуть и ждать опять 5 сек после чего опать загорает .
Товарищ Eprinter написал программу Спасибо ему большое , но выдает одну ошибочку 'bit' type not supported for chips with AVR8L core в строке bit on_off; // 0 - выкл, 1 - вкл
МК Atmega8 В программе CodevisionAvr Подскажите что нужно подправить потому что Товарищ Eprinter появится только завтра.
Товарищ Eprinter написал программу Спасибо ему большое , но выдает одну ошибочку 'bit' type not supported for chips with AVR8L core в строке bit on_off; // 0 - выкл, 1 - вкл
МК Atmega8 В программе CodevisionAvr Подскажите что нужно подправить потому что Товарищ Eprinter появится только завтра.
Последний раз редактировалось yron Вс июн 17, 2012 09:09:52, всего редактировалось 1 раз.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
может мы бы и подсказали,но мы не видели вашей программы,что сделал Eprinter
так что могу посоветовать сменить тип бит на тип char.
хоть он отличается размером.но для вашего применения этого кристалла думаю памяти хватит.
так что могу посоветовать сменить тип бит на тип char.
хоть он отличается размером.но для вашего применения этого кристалла думаю памяти хватит.
В поисках истины человек развивается.
Re: Мелкие вопросы по МК и ПЛИС.
Вот программа .
Если нужно что то подправить подскажите .
Вместо bit поставил char заработало прошил контроллер но работает не так как надо .
А работает так
Когда на PD.2 появляется логический ноль (кнопка 1 нажата) программа выдает на PD.5 лог.1 . Дальше ничего не происходит. Но если на PD.3 появится лог.0 (кнопка 2 нажата ) и удерживается ,на PD.7 программа выдает лог.1 а подключенный на PD.6 светодиод начинает мигать.
Если нужно что то подправить подскажите .
Вместо bit поставил char заработало прошил контроллер но работает не так как надо .
А работает так
Когда на PD.2 появляется логический ноль (кнопка 1 нажата) программа выдает на PD.5 лог.1 . Дальше ничего не происходит. Но если на PD.3 появится лог.0 (кнопка 2 нажата ) и удерживается ,на PD.7 программа выдает лог.1 а подключенный на PD.6 светодиод начинает мигать.
- Вложения
-
- avr.txt
- (3.12 КБ) 148 скачиваний
Последний раз редактировалось yron Вс июн 17, 2012 09:11:30, всего редактировалось 6 раз.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
вообще ваше тех задание не вполне понятно.нажали на 1 кнопку и отпустили или держим?при нажатой 1 кнопке можно происходить переключение светодиодов?
зачем вы удерживаете эту кнопку?
как должно происходить отключение системы от этой кнопки?отпусканием или повторным нажатием.
и портянки такие незачем тут писать.учитесь вложения делать.
зачем вы удерживаете эту кнопку?
как должно происходить отключение системы от этой кнопки?отпусканием или повторным нажатием.
и портянки такие незачем тут писать.учитесь вложения делать.
В поисках истины человек развивается.
Re: Мелкие вопросы по МК и ПЛИС.
Задание такого
От кнопки 1 включается и выключается программа . Нажимаем 1 кнопку загорается 1 светодиод после 5 секунд как загорелся 1 светодиод загорается 2 светодиод после 10 секунд как загорелся 2 светодиод проверяется состояние 2 кнопки если она не нажата программа рестартируется на то места где идет ожидание 5 секунд (то есть 2 светодиод гаснет и опять идет отсчет 5секунд) а если кнопка 2 нажата загорается 3 светодиод . Как отпустили 2 кнопку программа рестартируется также как если кнопка и не нажималась . после чего нажимаем 1 кнопку и все выключается . И еше 1 кнопкой должна быть возможность выключить программу в любой момент .
От кнопки 1 включается и выключается программа . Нажимаем 1 кнопку загорается 1 светодиод после 5 секунд как загорелся 1 светодиод загорается 2 светодиод после 10 секунд как загорелся 2 светодиод проверяется состояние 2 кнопки если она не нажата программа рестартируется на то места где идет ожидание 5 секунд (то есть 2 светодиод гаснет и опять идет отсчет 5секунд) а если кнопка 2 нажата загорается 3 светодиод . Как отпустили 2 кнопку программа рестартируется также как если кнопка и не нажималась . после чего нажимаем 1 кнопку и все выключается . И еше 1 кнопкой должна быть возможность выключить программу в любой момент .
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
А работает так
Когда на PD.2 появляется логический ноль (кнопка 1 нажата) программа выдает на PD.5 лог.1 . Дальше ничего не происходит.
кнопка 1 нажата или нажали и отпустили?
В поисках истины человек развивается.
Re: Мелкие вопросы по МК и ПЛИС.
Нажал и отпустил.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Это значит нажали кратковременно на кнопку включается первый светодиод.
Через пять сек включается второй.
Если на второй кнопке ноль, то через 10 сек после включения или после нажатия на кнопку включаем третий светодиод.
Если на второй кнопке единица, то мигаем каждые пять секунд вторым светодиодом.
Так?
Через пять сек включается второй.
Если на второй кнопке ноль, то через 10 сек после включения или после нажатия на кнопку включаем третий светодиод.
Если на второй кнопке единица, то мигаем каждые пять секунд вторым светодиодом.
Так?
В поисках истины человек развивается.
Re: Мелкие вопросы по МК и ПЛИС.
Поправлю
1.Это значит нажали кратковременно на кнопку включается первый светодиод. (для избежания дребезга контактов программа срабатывает если жмем на кнопку 1-2сек.)
2.Через пять сек включается второй.
3.Если на второй кнопке ноль, то через 10 сек после включения первого светодиода включаем третий светодиод.
4.Если на второй кнопке единица, то все начинается с опять со 2 строки (2.Через пять сек включается второй.)
5.Нажимаем первую кнопку тоже с удержанием в 1-2сек и все выключается.
1.Это значит нажали кратковременно на кнопку включается первый светодиод. (для избежания дребезга контактов программа срабатывает если жмем на кнопку 1-2сек.)
2.Через пять сек включается второй.
3.Если на второй кнопке ноль, то через 10 сек после включения первого светодиода включаем третий светодиод.
4.Если на второй кнопке единица, то все начинается с опять со 2 строки (2.Через пять сек включается второй.)
5.Нажимаем первую кнопку тоже с удержанием в 1-2сек и все выключается.
Re: Мелкие вопросы по МК и ПЛИС.
yron писал(а):Когда на PD.2 появляется логический ноль (кнопка 1 нажата) программа выдает на PD.5 лог.1 . Дальше ничего не происходит. Но если на PD.3 появится лог.0 (кнопка 2 нажата ) и удерживается ,на PD.7 программа выдает лог.1 а подключенный на PD.6 светодиод начинает мигать.
Это потому, что лепил наспех и без чёткого ТЗ (технического задания). Про исключения дребезга вообще ни слова не было. Вечером изменю и даже отлажу, так и быть, сейчас нет возможности.
[color=#006699]In der großen Familie nicht kluven klatz-klatz![/color]
Re: Мелкие вопросы по МК и ПЛИС.
Извиняюсь про дребезг я узнал только после чего почитал книжку. А с постановкой технического задания конечно я облажался.
Спасибо вам большое Eprinter. Очень много информации в книжках про avr зачитался настолько что не заметил что уже 4 часа ночи.
Спасибо вам большое Eprinter. Очень много информации в книжках про avr зачитался настолько что не заметил что уже 4 часа ночи.
- КРАМ
- Друг Кота
- Сообщения: 25121
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
Eprinter писал(а):Про исключения дребезга вообще ни слова не было.
Как только в задании звучит слово кнопка или вообще механический контакт, так АВТОМАТИЧЕСКИ, без всяких дополнительных условий возникает условие подавления дребезга. Кнопки, механические энкодеры, контакты реле - все это требует учета дребезга при включении и выключении.
Re: Мелкие вопросы по МК и ПЛИС.
Начальные эксперименты с кнопками? Параллельно кнопке попробуйте кондёр поставить, на 100 нан, например. Аппаратный давитель дребезга. 
Re: Мелкие вопросы по МК и ПЛИС.
Кондер эффективно помогаем.
Но хотелось бы увидеть решение и в программном виде .
Но хотелось бы увидеть решение и в программном виде .
Re: Мелкие вопросы по МК и ПЛИС.
hybroid писал(а):Начальные эксперименты с кнопками? Параллельно кнопке попробуйте кондёр поставить, на 100 нан, например. Аппаратный давитель дребезга.
Мне кажется, учите полумерам
Re: Мелкие вопросы по МК и ПЛИС.
Может быть не одна реализация.. Зависит от того, как опрашиваются кнопки. Настолько замусоленная тема, товарищи, воспользуйтесь гуглом для начала.
Смысл примерно одинаков: увидели нажатие, подождали, ещё раз проверили. Если оно осталось - ура, это был не дребезг. Если не было - значит дребезг.
Смысл примерно одинаков: увидели нажатие, подождали, ещё раз проверили. Если оно осталось - ура, это был не дребезг. Если не было - значит дребезг.
Re: Мелкие вопросы по МК и ПЛИС.
hybroid так это и так понятно а как это в программе оформить???
Re: Мелкие вопросы по МК и ПЛИС.
Можно с простой задержкой а можно с использованием таймера. Что лучше ????