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

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

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

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

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

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

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

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

использовать int для флага это очень жирно в плане нерационального использования памяти. Достаточно использовать тип переменной char , еще лучше bit , если среда поддерживает. CodeVision AVR поддерживает тип bit.
Глобальные переменные это переменные объявленные до main () их видит любая функция программы.
Статические переменные видимы только в функции в которой они объявлены.
Статические переменные сохраняют свои значения на новом такте. Попросту на новом такте значение статической переменной будет иметь значение которое мы записали туда раньше.
Объявляются статические переменные так.
static chat Flag; // статическая переменная типа чар с именем флаг
Реклама:
Sk700S вне форума  
Непрочитано 26.07.2010, 15:06  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите с avr

Сообщение от igonzo Посмотреть сообщение
ЧЕТО НЕ ПОЛУЧАЕТСЯ
И не получится.
Код:
static unsigned char Flags;

if( PIND.0)
 {
 if(Flag == 0)
  {
  Flag = 1;
  PORTC.4 = ~PORTC.4;
  }
 }
 else Flag = 0;
Это все правда будет работать плохо из за дребезга контактов в кнопке. Но в симуляторе нормально. Или там не кнопка на PORTD.0?
kison вне форума  
Непрочитано 26.07.2010, 15:10  
Sk700S
Частый гость
 
Регистрация: 07.10.2006
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Sk700S на пути к лучшему
По умолчанию Re: Помогите с avr

В моем коде с использованием флага,

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

проблем с дребезгом контактов не может быть никогда , категорически, и в принципе.
Какую среду используешь, может будет проще этот кусочек готовый для тебя сделать.

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

CodeVisionAVR

ВРОДЕ ЭТО РАБОТАЕТ


static unsigned char Flag(((s)));

if( PIND.0)
{
if(Flag == 0)
{
Flag = 1;
PORTC.4 = ~PORTC.4;
}
}
else Flag = 0;



НО ПРИ ЗАПУСКЕ PORTC.4 ВКЛЮЧИЛСЯ И ПОГАС

КАК ОСТАВИТЬ ЕГО ВКЛЮЧЕННЫМ (((PORTC.4=1; )))
ИЛИ НЕ ТАК?
__________________
да я такой

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

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

Сообщение от igonzo Посмотреть сообщение
А ТО СИЛЬНО КОМПИЛЯТОР РУГАЛСЯ,
Там опечатка - объявлена Flags, а в тексте Flag. Лишняя буква всего лишь.
kison вне форума  
Непрочитано 26.07.2010, 15:23  
igonzo
Частый гость
 
Аватар для igonzo
 
Регистрация: 03.03.2009
Сообщений: 34
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
igonzo на пути к лучшему
По умолчанию Re: Помогите с avr

kison,


СПАСИБО ИСПРАВИЛ СПЕШИТЬ С ВЫВОДАМИ БОЛЬШЕ НЕ БУДУ
__________________
да я такой
igonzo вне форума  
Непрочитано 26.07.2010, 15:30  
igonzo
Частый гость
 
Аватар для igonzo
 
Регистрация: 03.03.2009
Сообщений: 34
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
igonzo на пути к лучшему
По умолчанию Re: Помогите с avr

if( PIND.0) // ЕСЛЕ ( PIND.0)
{
if(Flag == 0) // ЕСЛЕ FLAG = 0 А 0=FLAG ???
{
Flag = 1; /// А ЭТО ШО ЗНАЧИТ ???
PORTC.4 = ~PORTC.4;///
}
}
else Flag = 0;
__________________
да я такой
igonzo вне форума  
Непрочитано 26.07.2010, 15:37  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Помогите с avr

Сообщение от igonzo Посмотреть сообщение
Flag = 1; /// А ЭТО ШО ЗНАЧИТ ???

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

НО ПРИ ЗАПУСКЕ PORTC.4 ВКЛЮЧИЛСЯ И ПОГАС

КАК ОСТАВИТЬ ЕГО ВКЛЮЧЕННЫМ
__________________
да я такой
igonzo вне форума  
 

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

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

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:25.


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