Hallo,
nach dem Vorlageprogramm in Bascom habe ich mal ein C-Programm geschrieben, um einen RC-Kanal einzulesen und je nach Signal einen Pin zu schalten (hier PA2).

Irgendwie tut sich jedoch nichts, vielleicht könnt ihr mal drüberschauen?

Den Timer habe ich mit Prescale 8 gestartet, sodass er im 2ms-Abtastzeitraum von 0-250 laufen sollte, was den 8bit-Bereich ja ziemlich gut ausnutzt.


Code:
#include <avr/io.h>
#include <avr/interrupt.h>

ISR(INT0_vect)
{
    int reading;
    int rc_value;
    
    if(reading == 0)
    {
        TCNT0 = 0;
        reading = 1;
    }
    else
    {
       rc_value = TCNT0;
       TCNT0 = 0;
       reading = 0;
       if(rc_value > 128)
       {
            PORTA = (0<<PA2);
       }
       else
       {
            PORTA = (1<<PA2);
       }
    }
}

int main(void)
{
    DDRA = 0xFF;
    PORTA = 0xFF;
    DDRB = 0x00;
    
    int reading = 0;
    int rc_value = 0;
    
    TCCR0B = (1<<CS01);
    MCUCR = (1<<ISC00);
    sei();
   
    while(1)
    {
    }  
}