hallo leute, ich wollte timer0 für t0 und timer1 für t1 benutzen um impulsanzahlen zu messen. die initialisierung von timer0 als counter und verbindung mit PB.0 als t0 klappt, alles bestens: tccr0=&B00000110 nun wollte ich auch gleichzeitig noch t1 nutzen, daß müßte ja dann ein 16-Bit timer sein. tccr1a=&B00000000 tccr1b=&B00000110 brachte da keinen erfolg an PB.1 wo ist da mein fehler bei der initalisierung? oder muß noch ein andere pin belegt werden? besten dank
Hai Kai, wie liesst du denn den Zählerstand aus? Die Initialisierung sollte stimmen (habe eben nachgesehen). vielleicht liest BASCOM das 16bit Register TCNT1H-L nicht richtig aus...? (glaube ich eigentlich nicht) Ich habe im Datenblatt vom Mega8 auf Seite 86/87 gerad' nachgelesen: <Zitat> TIM16_ReadTCNT1: ; Save global interrupt flag in r18,SREG ; Disable interrupts cli ; Read TCNT1 into r17:r16 in r16,TCNT1L in r17,TCNT1H ; Restore global interrupt flag out SREG,r18 ret </Zitat> Gruß Axel
mh, kann es sein, daß timer/counter1 auch auf p0 zugreifen will? auslesen tue ich es wie timer0, halt nur bezeichnungen auf timer1 angepasst, nur das display bleibt leer...keine hochzählende variable *schnief
Mist, kann ich nicht weiterhelfen, habe FastAVR. kannst ja deinen Code posten. Vielleicht steht irgentwo STOP TIMER1 oder oben bei den Metastatements... Du nimmst doch keinen Interrupt, sondern liesst die Zählervariable in der Hauptschleife aus? Zählerstand oder Variable? Axel
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.