hallo, ich hab angefangen ein bisschen mit den interrupts rumzuspielen. hab aber folgendes problem. benutze atmeg8515 und avrstudio mit winavr und stk500 den folgenden code habe ich aus einem buch abgeschrieben. aktiviert wird der INT0. bei drücken des taster2(PIND2) soll an portB raufgezählt werden. raufzählen funktioniert soweit ganz gut, nur manchmal wird einmal gezählt wenn ich draufdrücke und einmal wenn ich wieder loslasse, aber ich denke das kommt vom prellen, oder?? weiter im text: bei drücken des taster4 soll der zähler gelöscht werden. da tut sich aber überhaupt nix. kann mir vielleicht einer sagen wiseo?? vielen dank CODE: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/delay.h> SIGNAL(SIG_INTERRUPT0) {PORTB--; _delay_ms(3000);} void main(void){ DDRB=0xff; PORTB=0xff; PORTD=0xff; MCUCR|=(1<<ISC01); GICR|=(1<<INT0); SREG|=(1<<7); while(1) { while(!PIND & (1<<PD4)) PORTB=0; while((PIND & (1<<PD4))); } }
:
Verschoben durch Admin
Über dem Beitragsformular steht: "Wichtige Regeln - erst lesen, dann posten! * Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag * Aussagekräftigen Betreff wählen * Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...) * Groß- und Kleinschreibung verwenden * Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang" Bitte daran halten, das macht das Benutzen des Forums für alle angenehmer.