На этот раз пытаюсь разобраться с прерываниями.
Проверьте пожалуйста . И сразу вопросы что нужно подставить вместо знаков вопроса? И я так понимаю в этом случае используется сигнал со входов МК INT0 и INT1 ? А как сделать допустим срабатывание прерывания с кнопок заведённых на РB1 PB2?
#include <mega8>
#include <stdio>
#include <delay>
// External Interrupt 0 service routine - PD2 any changes
interrupt [EXT_INT0] void ???????(void)
{
PORTD.0 = 0;
delay_ms (1000); // ждем 1 сек. // Place your code here
PORTD.0 = 1;
PORTD.1 = 0;
delay_ms (1000); // ждем 1 сек.
PORTD.1 = 1;
PORTD.2 = 0;
delay_ms (1000); // ждем 1 сек.
PORTD.2 = 1;
PORTD.3 = 0;
delay_ms (1000); // ждем 1 сек.
PORTD.3 = 1;
}
// External Interrupt 1 service routine - PD3 any changes
interrupt [EXT_INT1] void ???????(void)
{
PORTC.0 = 1;
delay_ms (1000); // ждем 1 сек.
PORTC.0 = 0; // Place your code here
PORTC.1 = 1;
delay_ms (1000); // ждем 1 сек.
PORTC.1 = 0;
PORTC.2 = 1;
delay_ms (1000); // ждем 1 сек.
PORTC.2 = 0;
PORTC.3 = 1;
delay_ms (1000); // ждем 1 сек.
PORTC.3 = 0;
PORTC.4 = 1;
delay_ms (1000); // ждем 1 сек.
PORTC.4 = 0;
}
#include <stdio>
void main(void)
{
PORTB=0x00;
DDRB=0x00;
PORTC=0xff;
DDRC=0xff;
PORTD=0xff;
DDRD=0xff;
#asm("sei") // Global enable interrupts
while (1)
{
PORTD=0x00;
delay_ms (1000);
PORTD=0xff;
delay_ms (1000);
};
}
Заранее спасибо )


