Witam.
Proszę o sprawdzenie poprawności kodu.Chciałem zastosować zewnętrzne przerwanie INT0.Po podaniu niskiego poziomu na INT0 chciałbym uzyskać negacje bitów portu C0 i C1, przy czym zawsze mają one mieć wartości przeciwne.
w Main konfiguruję porty i rejestry następująco:
czy coś takiego ma szanse zadziałać?
Proszę o sprawdzenie poprawności kodu.Chciałem zastosować zewnętrzne przerwanie INT0.Po podaniu niskiego poziomu na INT0 chciałbym uzyskać negacje bitów portu C0 i C1, przy czym zawsze mają one mieć wartości przeciwne.
ISR(INT0_vect)
{
if( !(PINC & 0x02))//negacja PC0 i PC1
{
PORTC |= _BV(PC1);
PORTC &= ~_BV(PC0);
}
else
{
PORTC |= _BV(PC0);
PORTC &= ~_BV(PC1);
}
}
w Main konfiguruję porty i rejestry następująco:
DDRC = 0xFF;
PORTC = 0x01;;// PC0-"1" PC1-"0"
DDRD= 0x00;//PD wejsciami
PORTD= 0xFF;//włącza pull-up
GICR|=(1<<INT0);//włącza przerwanie INT0
MCUCR &=~0x03;//zeruje ISC01 i ISC00 int0 reaguje na niski poziom
sei();
czy coś takiego ma szanse zadziałać?
