Bis du sicher, daß der Tiny auch einer Timer1 hat ?
Hi.
Hab ein neues Problem und seh keine Möglichkeit das selber gelöst zu bekommen.
Ziel: den aktuellen Wert des Timers auslesen..
Bascom Ver. 1.11.7.9 (Compiler auch 1.11.7.9) - die DEMO.
Wenn ich das nun testen lasse (Syntax Check) kommt folgende Fehlermeldung für die beiden letzten Zeilen:$regfile = "At26def.dat" 'ATtiny26 für Compiler auswählen
$crystal = 11059200 'Frequenz des externen Quarz-Oszilators in Hz
Ddra = &B00000000 'PortA -> Pins als Input(=0) oder Output(=1)
Ddrb = &B00000000 'PortB -> Pins als Input(=0) oder Output(=1)
'----- ab hier eingefügter CODE aus BASCOM-Hilfe zu Timer1 (Kommentare gelöscht) ------
Dim W As Word
Config Timer1 = Timer , Prescale = 1024
'You can read or write to the timer with the COUNTER1 or TIMER1 variable
W = Timer1
Timer1 = W
Error : 242 Line : 33 Source variable does not match the target variable [ 0|TIMER1] , in File : C:\...\Test.bas
Error : 46 Line : 34 Assignment error [TIMER1: 0 W: 6] , in File : C:\...\Test.bas
Hat da jemand ein Workaround?
Eher nebensächlich: beim Test kommt auch immer eine Meldung, dass ein File nicht gefunden wird.. gibts da auch ne Idee oder ein Workaround?
Gruß und vielen Dank
Nico
Bis du sicher, daß der Tiny auch einer Timer1 hat ?
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Laut Atmel Datenblatt schon...
S. 3:
"two 8Bit Timers/Counters.."
In den Features wird einmal 1 normaler Timer erwähnt und dann noch ein High-Speed Timer..
Im weiteren werden die dann Timer0 und Timer1 genannt..
Was mich jetzt stutzig macht - wo du es gerade ansprichst - dass in den Pinouts nur INT0/T0 verzeichnet ist und INT1/T1 nicht?!?..
Lustig..
Habs jetzt mal mit Timer0 durch laufen lassen und es geht!..
Und wenn ich nun aber noch einen weiteren Counter brauch, wo nehm ich den her?..
Mist, muß ich jetzt den Timer0 universell auslegen und alles da dran hängen?!...
Danke erstmal.
Wobei mich schon wundert, dass es eigentlich 2 Timer geben sollte - laut Datenblatt - und wohl doch nur einer da ist. >
Wie bekomm ich den anderen inklusive interner Interrupts (Overflow)?
Gruß
Nico
Hallo
Beide TIMER im Tiny 26 sind 8 Bit breit.
MFG
Dieter
Ach so, den 2ten Timer inklusive Overflow bräuchte ich für die SW-UART, da ich das Ding über USI nicht selber zum laufen krieg und wohl auch kein ASM-Code dafür existiert, sondern nur C-CODE.
Gruß
Nico
Hi.Zitat von Dieter
Kann ich den 2ten - also Timer1 - dann auch genau so mit Interrupt für SW-UART verwenden wie den Timer0?
Das auslesen des Wertes des Timers bräuchte ich ja nicht, Hauptsache der leifert mir ein Interrupt für UART..
Gruß
Nico
Hallo
Ja, auch mit Timer1 kannst du einen Overflow Int bekommen. Schöner geht das aber in deiner Anwendung bestimmt mit dem Compare Match Int des Timer1.
MFG
Dieter
Danke, werde mich damit auseinandersetzen und sehen, dass ich das hinbekomme..
Ist schon viel Wert, wenn man ne Richtung bekommt in der man laufen soll, wenn man den Wald vor lauter Bäumen nicht sieht
Danke und Gruß
Nico
Lesezeichen