В среде ардуино после загрузки все работает как надо, а вот если скопилировать аналогичный код в AmtelStudio7, программа глючит. Прерывание по нажатию срабатывает с 10 раза, иногда светодиод может включится, а по отжатию кнопки не погаснуть. В среде ардуино аналогичный код работает ОТЛИЧНО.
Сама atmega328p-au снята с платы ардуино и запущена от встроенного генератора.
Спойлер
#define F_CPU 8000000UL#include <avr/io.h>
#include <avr/interrupt.h>
ISR(PCINT0_vect) { //обработка нажатия кнопки
PCICR=(0<<PCIE0); //выкл прерывание
if (PINB&0b00000001) {
PORTB |= (1<<(PORTB2));
}
else
{
PORTB &= ~(1<<(PORTB2));
}
PCICR=(1<<PCIE0); //вкл прерывание
}
int main(void) {
//Установка 12 нога PB0/PCINT0/arduino pin:8
PCICR |= (1<<PCIE0);//set Разрешаить прерывания блока
PCMSK0 |= (1<<PCINT0);//set Какая нога вызовет прерывание
DDRB |= (1<<DDB0);//set to input
//PB2 нога со светодиодом
DDRB |= (1<<DDB2);//set to output
sei();
while (1) {
}
return 0;
}


