Gast
#1630049
moin, ich muss für ein Projekt einen µC programmieren. Der µC soll Schubladen überwachen. Wenn die Schubladen länger als 20 sec offen sind soll mit dem Realais eine 24 V Lampe und Summer geschaltet werden. Die rote LED soll 20 sec blinken und dann soll das Relais geschaltet werden. Mein Problem nun wenn ich die Led blinken lassen möchte geht die LED zwar an aber nicht wieder aus. Hier mal der Code und der Schaltplan. Schaltplan :http://img94.yfrog.com/i/schaltplan.jpg/ Code #include <avr/io.h> #include <util/delay.h> #include <inttypes.h> void timer(uint16_t ms) { for(; ms>0; ms--) { _delay_ms(1); } } uint8_t bTaster1; uint8_t bTaster2; uint16_t zeit; int main (void) { DDRB =( (1<<PB0) | (1<<PB3) ) ; PORTB =( (1<<PB1) | (1<<PB2) ); for(;;) { if(bit_is_set(PINB,1)) { bTaster1=1; } else { bTaster1=0; } if(bit_is_set(PINB,2)) { bTaster2=1; } else { bTaster2=0; } if (bTaster1 || bTaster2) { for(zeit=10;zeit>0;zeit--) { PORTB =(1<<PB3); timer(1000); PORTB =~(1<<PB3); timer(1000); } }PORTB |=((1<<PB0) |(1<<PB3)); else { PORTB &=~(1<<PB3); } if (bTaster1 && bTaster2) { PORTB = ( (1<<PB0)| (1<<PB3) ); } else { PORTB &= ~( (1<<PB0) | (1<<PB3) ); } } return 0; }