Notepad,VMLAB, Atmega8 и C
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено AliBaba 24 ноября 2006 г. 09:15

case RC5mut: if (bit_is_set(PIND,MOUT)) \
{PORTD &= ~(_BV(MOUT));rotate(0);// сбрасывает MUTE если установлено
}
else {PORTD |= _BV(MOUT); rotate(0);// устанавливает MUTE если сброшено
} break;

case RC5inB: PORTD |= _BV(SEL0); PORTD &= ~(_BV(SEL1));lcd_com(0x8D); lcd_dat(0x02); break;
case RC5inC: PORTD |= _BV(SEL1); PORTD &= ~(_BV(SEL0));lcd_com(0x8D); lcd_dat(0x03); break;
case RC5inD: PORTD |= _BV(SEL0); PORTD |= _BV(SEL1);lcd_com(0x8D); lcd_dat(0x04);break;
******************case RC5in1: PORTD &= ~(_BV(SEL0)); lcd_com(0x8D);PORTD &= ~(_BV(SEL1)); lcd_dat(0x01);break;
} //Окончание фунции "switch" =14

GICR |= _BV(INT0);

Когда последнюю строчку вставляю (которую пометил звездочками) работать перестают все RC5in*, а когда ее убираю - все работает нормально (естественно без RC5inA)
Менял названия, место в switch ставил паузы - все переключается в исходное состояние после команды GICR |= _BV(INT0);
Менял код команды (RC5inA=0x01....)
пробовал отключать три других case - все нормально, а вот с case RC5inA нивкакую .

Вот и весь вопрос. В железе не пробовал.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
URL изображения: 
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 387:


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание