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);
}
}