Cvavr Не Могу Понять Что Не Так If Else. Читаю Белова И Пытаюсь Писать Своё.

9-08-2013, 11:19 От: admin Посмотрели: 662
Прошу не пинать сильно и по возможности указать где черпать более правильную инфу. Использую книгу "Разработка уст-в на мк AVR. А.В.Белов.

Встала поблема при использовании конструкции if else. Привожу код созданый в CVAVR





#include <mega32a.h>

void main(void)
{

#define kn1 PINB.4
#define kn2 PINB.5
#define kn3 PIND.0
#define kn4 PIND.1
#define kn5 PIND.2

#define led1 PORTA.6
#define led2 PORTA.4
#define led3 PORTA.3
#define led4 PORTA.2
#define led5 PORTA.1

PORTA=0x00;
DDRA=0xFF;

PORTB=0xF0;
DDRB=0x0F;

PORTC=0xFF;
DDRC=0x00;

PORTD=0xFF;
DDRD=0x00;

TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

MCUCR=0x00;
MCUCSR=0x00;

TIMSK=0x00;

UCSRB=0x00;

ACSR=0x80;
SFIOR=0x00;

ADCSRA=0x00;

SPCR=0x00;

TWCR=0x00;

while (1)
{

if ( kn1 == 0 ) led1 = 1; else led1 =0;

if ( kn2 == 0 ) led1 = 1; else led1 =0;

}
}



Проблема ледующая: данная конструкция работает при использовании только одной конструкции if else. Если их более одной то происходят судеса. При нажатии kn1 светодиод led5 начинает мигать, а при нажатии kn2  светодиод led6 светит неприрывно до момента отпускания кнопки kn2. Проверял в протеусе и на мекетной плате результат идентичен.

Конечным результатом было желание получить следующий алгоритм работы:

1 при нажатии kn1 светит led1 пока держим кнопку

2 при нажатии kn2 засвечивается led2 и при отпускании кнопки kn2 светодиод led2 продолжает светить

3 кнопка kn3 для выключения светодиода led2

4 исключить возможность подавать команды kn1 при работе светодиода led2



Нашел на форуме Atmega8 Включение Реле. сделал аналогично, не помогло.
Раздел: AVR

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Cvavr Не Могу Понять Что Не Так If Else. Читаю Белова И Пытаюсь Писать Своё. все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031