К
atmega162 подключены как на рисунке 6 кнопок, по порядку PC1-PC6. Пишу в Codevision, PC1-PC6 настроены на вход. Первые 3 кнопки PC1-PC3 работают нормально, а при вставке в текст программы обработки события от любой кнопки PC4-PC6, контроллер сразу виснет. Компилируется всё без ошибок. Вот, на всякий случай, простой пример:
if(PINC.1==0)
{
delay_ms(100);
if(PINC.1==0)
{
while(PINC.1==0);
lcd_clear();
lcd_gotoxy(2,0);
lcd_putsf("Button1");
}
}
if(PINC.2==0)
{
delay_ms(100);
if(PINC.2==0)
{
while(PINC.2==0);
lcd_clear();
lcd_gotoxy(2,0);
lcd_putsf("Button2");
}
}
if(PINC.4==0)
{
delay_ms(100);
if(PINC.4==0)
{
while(PINC.4==0);
lcd_clear();
lcd_gotoxy(2,0);
lcd_putsf("Button3");
}
}
Оно виснет сразу. Если вместо PINC.4 поставить PINC.3, то работает. Если вместо PINC.4 поставить PINC.5 или PINC.6, то тоже виснет.
Плату уже с тестером облазил, на всех кнопках всё одинаково, ничего не коротит нигде. Как такое может быть?