Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 26.07.2010, 15:46  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите с avr

Сообщение от igonzo Посмотреть сообщение
КАК ОСТАВИТЬ ЕГО ВКЛЮЧЕННЫМ
У Вас какое исходное состояние PIND.0? Там единица? И какое исходное состояние PORTC.4?
Я просто задачу не понимаю. Но попробуйте объявлять переменную так:
Код:
static unsigned char Flags = 1;
Если при ненажатой кнопке PIND.0 в высоком уровне, то
Код:
static unsigned char Flags;

if( PIND.0 == 0)
 {
 if(Flag == 0)
  {
  Flag = 1;
  PORTC.4 = ~PORTC.4;
  }
 }
 else Flag = 0;
Расскажите подробно что хотите получить.
Реклама:

Последний раз редактировалось kison; 26.07.2010 в 15:49.
kison вне форума  
Непрочитано 26.07.2010, 15:55  
Sk700S
Частый гость
 
Регистрация: 07.10.2006
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Sk700S на пути к лучшему
По умолчанию Re: Помогите с avr

Сообщение от st_1 Посмотреть сообщение
Да...
Достаточно туманно,
В этой теме "изначально".
Сообщение от kison Посмотреть сообщение
Люблю я такие категоричные заявления. Попробуйте хоть в симуляторе это проверить. Узнаете много нового. Но не на своем коде, он неработоспособен в принципе. Там отрабатывается только первое нажатие, дальше что нажимай, что отпускай кнопку - уже без разницы.
Сорри. Знак инверсии пропустил.
На всех остальных категорических заявлениях настаиваю.*_*
В целом на всех.
На всякий пожарный даю полностью код для CodeSision AVR. Проверил на невнимательность.
Работает стопудово. Проверил , честно. *_*


#include ‹mega8.h›
#include ‹delay.h›

char Flag;
void main( void ) {
DDRD = 0x00;
PORTD = 0x00;

DDRC = 0xFF;
PORTC = 0x00;

while ( 1 ) {
if ( PIND.0 == 1 && Flag == 0 ) { PORTC.4 ^= 1; Flag = 1;}
if ( PIND.0 == 0 && Flag == 1 ) { Flag = 0;}

}

}
Sk700S вне форума  
Непрочитано 26.07.2010, 15:56  
igonzo
Частый гость
 
Аватар для igonzo
 
Регистрация: 03.03.2009
Сообщений: 34
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
igonzo на пути к лучшему
По умолчанию Re: Помогите с avr

Сообщение от kison Посмотреть сообщение
Расскажите подробно что хотите получить.



надо чтобы при включении d1 горел а по нажатию sw1 выключался

и наоборот по нажатию sw1 d1 включался
__________________
да я такой
igonzo вне форума  
Непрочитано 26.07.2010, 16:05  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите с avr

Сообщение от Sk700S Посмотреть сообщение
На всех остальных категорических заявлениях настаиваю.*_*
В целом на всех.
Ну, первый шаг сделали. А теперь осталось разобраться чем дребезг отличается от обычных нажатий и сможет ли Ваш ( и мой тоже ) код отличить эти два случая.
Сообщение от igonzo Посмотреть сообщение
надо чтобы при включении d1 горел а по нажатию sw1 выключался
Ну тогда второй "рецепт" из 31-го сообщения.
kison вне форума  
Непрочитано 26.07.2010, 16:22  
igonzo
Частый гость
 
Аватар для igonzo
 
Регистрация: 03.03.2009
Сообщений: 34
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
igonzo на пути к лучшему
По умолчанию Re: Помогите с avr

А НАСЧЕТ ЗАМЕНЫ LCD1 НА СВЕТОДИОДНЫЙ ИНДИКАТОР ИЗ ТРЕХ ЗНАКОВ
ПОДСКАЖЕТЕ ГДЕ ПОЧИТАТЬ?
__________________
да я такой
igonzo вне форума  
Непрочитано 26.07.2010, 16:28  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите с avr

Сообщение от igonzo Посмотреть сообщение
А НАСЧЕТ ЗАМЕНЫ LCD1 НА СВЕТОДИОДНЫЙ ИНДИКАТОР ИЗ ТРЕХ ЗНАКОВ
ПОДСКАЖЕТЕ ГДЕ ПОЧИТАТЬ?
Тут рядом обсуждение - https://kazus.ru/forums/showthread.php?t=19244
Я правда не читал все
Вы программу с нуля пишете?
kison вне форума  
Непрочитано 26.07.2010, 16:34  
igonzo
Частый гость
 
Аватар для igonzo
 
Регистрация: 03.03.2009
Сообщений: 34
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
igonzo на пути к лучшему
По умолчанию Re: Помогите с avr

ПОЧТИ С НУЛЯ Я ПРОСТО УЧУСЬ

А С ИНДИКАТОРОМ LCD Я НАШОЛ В ИНЕТЕ И РЕШИЛ СДЕЛАТЬ ДЛЯ СЕБЯ
ЗАШИТУ ОТ ПЕРЕГРЕВА УМЗЧ 6 ПО 80W

C ЯЗЫКОМ СИ РАБОТАЛ ДАВНО УЖЕ ПЛОХО ПОМНЮ
А С AVR УЧУСЬ (ПО ЧУТЬ-ЧУТЬ)
__________________
да я такой
igonzo вне форума  
Непрочитано 26.07.2010, 17:00  
Sk700S
Частый гость
 
Регистрация: 07.10.2006
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Sk700S на пути к лучшему
По умолчанию Re: Помогите с avr

[QUOTE=kison;231227]Ну, первый шаг сделали. А теперь осталось разобраться чем дребезг отличается от обычных нажатий и сможет ли Ваш ( и мой тоже ) код отличить эти два случая.

Практика показывает что сможет, если цикл выполнения программы не очень маленький. На практике проверено, при цикле выполнения программы свыше 0.1 сек. все работает корректно.
Если опрашивать порт чаще, здесь действительно вопрос неоднозначный.
Интересно было бы попробовать на практике.
Так что в этом нюансе я с вами согласен, если опрашивать порт,
ну очень часто, в принципе могут быть проблеммы.
Устраняется проблемма правда элементарно, задержкой опроса
порта. Задержка опроса просто немножко модифицирует мой и ваш код,
логика работы останется преждней.
ОК. Одну категоричность убираю Вдруг код будет использоваться
в программном обеспечении на линии по выращиванию алмазов,
там очень быстрые контроллеры.
PS Чей код более оптимизирован надеюсь обсуждать не будем
Sk700S вне форума  
Непрочитано 26.07.2010, 17:14  
MilkiWay
Временная регистрация
 
Регистрация: 25.07.2010
Сообщений: 94
Сказал спасибо: 12
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
MilkiWay на пути к лучшему
По умолчанию Re: Помогите с avr

igonzo, посмотрите эту тему -
https://kazus.ru/forums/showthread.php?t=19355
она близка вашей.
MilkiWay вне форума  
Непрочитано 26.07.2010, 17:18  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите с avr

Сообщение от Sk700S Посмотреть сообщение
Практика показывает что сможет, если цикл выполнения программы не очень маленький. На практике проверено, при цикле выполнения программы свыше 0.1 сек. все работает корректно.
Практика показывает, что если не принимать специальных мер, а положиться на "как получится", то все и работает как получится. Т.е. абы как В обоих вариантах никаких мер для гарантии редких опросов нет, так что флаг ничем не поможет при дребезге. И тут не нужен сверхбыстрый контроллер, достаточно АВР с 1МГц такта. Если код поместить в основной цикл глюки обеспечены.
Сообщение от Sk700S Посмотреть сообщение
Чей код более оптимизирован надеюсь обсуждать не будем
Это очевидно. Два сравнения явно меньше чем четыре.
kison вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, создать АОН на AVR ArtUrl1986 Микроконтроллеры, АЦП, память и т.д 23 30.04.2016 18:48
Помогите с прошивкой в AVR studio _grey_ Микроконтроллеры, АЦП, память и т.д 5 26.03.2010 21:59
USB программатор AVR помогите! sorokin.vasiliy Микроконтроллеры, АЦП, память и т.д 13 06.03.2010 16:01
Помогите разобраться с кодом Micro C for AVR deeman30rus Электроника - это просто 7 09.02.2010 11:46


Часовой пояс GMT +4, время: 16:28.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot