Hallo, ich bin ein bißchen mit dem Simulator (AVR Studio 4.15 Build 623) am verzweifeln. Und zwar geht es darum ein Input Capture Event zu simulieren. Ich weiß nicht ob das noch wichtig ist, aber ich verwende einen Tiny2313 mit GCC. Compilieren tut er ohne Fehlermeldung. Dann starte ich den Simulator. Alles funktioniert einwandfrei. Der Counter scheint auch schön zu zählen. Dann setze ich das Interrupt flag per Hand. Jetzt springt der Simulator schön in die Interrupt Routine. Aber der Counterstand wird nicht in die ICR Register geschrieben. Diese bleiben immer auf null. Was mache ich falsch? Hat dieses Problem schon mal jemand gehabt? Dies ist meine initialisierung vom Timer1:
1 | void init_timer1(void) |
2 | {
|
3 | TCCR1A = 0; |
4 | // start Timer mit Systemtakt, steigende Flanke, noise canceller
|
5 | TCCR1B = (1 << ICNC1) + (1 << CS10) + (1 << ICES1); |
6 | |
7 | TCNT1H = 0; // Counter auf null setzen |
8 | TCNT1L = 0; // Counter auf null setzen |
9 | TIMSK |= (1<<ICIE1); // Capture Interrupt freigeben |
10 | }
|
Gruss Nils