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; }
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.