Habe jetzt die Masseleitung gelegt. Hat sich nichts geändert.
Aufgefallen ist mir, dass die per RC geschalteten LEDs jede Sekunde kurz ausgehen (ansonsten beständig an) und die 1-Sek-Blink-Leds alle 2 Sek kurz aufblitzen.
Sobald ich den Signalpin aus dem Empfänger ziehe, blinken die Blink-Leds wie programmiert im 1sek-Rhythmus. Die RC-Leds sind aus (entsprechend der Programmierung).
Hier der aktuelle Code nochmal:
Code:#include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <avr/wdt.h> /*void blitz() { PORTA = (1<<PA1); _delay_ms(1000); PORTA = (0<<PA1); } void beacon() { PORTA = (1<<PA0); _delay_ms(1000); PORTA = (0<<PA0); } */ ISR(INT0_vect) { static int reading; static int rc_value; if(reading == 0) { TCNT0 = 0; MCUCR = (0<<ISC00) | (1<<ISC01); reading = 1; } else { rc_value = TCNT0; TCNT0 = 0; MCUCR = (1<<ISC00) | (1<<ISC01); reading = 0; } if(rc_value > 150) { PORTA = (1<<PA2); } else { PORTA = (0<<PA2); } } int main(void) { DDRA = 0xFF; PORTA = 0xFF; DDRB = 0x00; TCCR0B = (1<<CS01); MCUCR = (1<<ISC00) | (1<<ISC01); GIMSK = (1<<INT0); sei(); /* while(1) { blitz(); _delay_ms(150); blitz(); _delay_ms(350); beacon(); _delay_ms(500); } */ while(1) { PORTA = (1<<PA0) | (1<<PA1); _delay_ms(1000); PORTA = (0<<PA0) | (0<<PA1); _delay_ms(1000); } }







Zitieren

Lesezeichen