Datum:
Guten Tag, ich finde den Fehler einfach nicht. Ich möchte eine Steigende Flanke bei einem ATmega644 durch den externen ICP Pin abfangen mit dem Timer1. Es muss eine Zeit gemessen werden. Wenn ich das Programm in AVR Studio 6 simuliere und beim Timer1 das ICF1 Flag per Hand setze wird es beim nächsten Schritt einfach wieder zurück gesetzt und die Interruptroutine wird nicht angesprungen. Ich habe vorher mal die Overflow routine des Timers getestet und sie hat funktionert. Wo ist der fehlende Hacken? Optimierung ist ausgeschaltet.
#include <avr/io.h> #include <avr/interrupt.h> int main (void) { TIMSK1= 1<<ICIE1; //Capture Input Enable TCCR1B=((1<<CS10)|(1<<ICES1));//Positive Flanke auswählen und eine Clocksource sei(); int a=23; while(1){ a++; //irgendwas machen und auf ext Interrupt warten } } ISR(TIMER1_CAPT_vect){ int b=20; } |
Viele Grüße
Datum:
Wie ich grade gemerkt habe, funktioniert das ganze im AVR Studio 4???????? WAS? Das versteh ich nun garnicht. Was gibts denn da noch für Unterschiede?
Datum:
HI
>Was gibts denn da noch für Unterschiede?
Um die herauszufinden hat Atmel ja solche Deppen wie dich.
MfG Spess
Datum:
Also ist das ein Bug und kein Bedienungsfehler?! Gibts schon jemand anderen, der das gleiche Problem hat?
Datum:
Hi
>Also ist das ein Bug und kein Bedienungsfehler?!
Kann ich nicht sagen. Ich habe etwas besseres zu tun als mich mit
halbgaren α-Versionen herum zu ärgern. Beim 4er-Studio weiß ich was, was
nicht und wie es geht. Aber du kannst ja einen Bug-Report an Atmel
schreiben. Dann war deine Ärger nicht umsonst.
MfG Spess
Datum:
Naja in der Version 5.1 ist genau das gleiche Problem und das ist keine Beta spezial Version?! Bis jetzt hat noch keine geantwortet bei Atmel. Mal sehen, was da noch kommt. Grüße