-
Nimms mir nicht übel aber ich glaube, daß Du nur einen Blick ins Datenblatt werfen müsstest um Deinem Problem auf den Leim zu gehen. ;)
Der Mega8 hat 3 Timer. Zwei mit 8 und einen mit 16 Bit - Probiers mal mit Config Timer2 und Timer2 = "schlagmichtot".
Die dritte Variante rauszufinden welche Timer es gibt steckt versteckt im Simulator von Bascom.
Wenn Du Dir die Interupts anschaust, sollte beim Mega8 das OVF0, OVF1 und OVF2 - Flag sichtbar sein (OVF = timerOVerFlowflag).
Ob man eines davon auch per Hand setzen kann hängt vom Programm ab das Simuliert werden soll.
Also: Augen geschärft und genau hingeschaut!
Passiert mir auch ständig, das ich was Teste aber erstmal nix passiert weil ich nich richtig gelesen habe.
-
Also, zum Schluss noch einmal für alle, beim Tiny26 ist unter BASCOM alles etwas anders als bei anderen Controllern:
Zum Setzen des Vorteiler für Timer1 nicht prescale verwenden (einfach weglassen), sondern in einer neuen Zeile: TCCR1B=n , wobei n einen Wert zwischen 0 und 15 annnehmen kann, 0 bedeutet Timer1 anhalten, ein Wert zwischen 1 und 15 bewirkt eine Vorteilung zwischen 1 und 16384
Zum Auslesen und setzen von Timer1 nicht die Variable Timer1 verwenden, sondern TCNT1, wobei TCNT1 einen Wert zwischen 0 und 255 annehmen kann.
"On timer1..." funktioniert !
Gruß an alle und danke für die Hilfe
Heiner
-
@heiner könntest du mal einen funktionierenden code mit timer1
SO ICH HAB mal einen funzenden timer1 code generiert 2TAGE jetzt klapts
CTC1 bit muss noch gesetzt werden
Code:
'/////////////////////////////////////////////////////////
'/// BASCOM ISP PROGRAMMER TEST timer1 ///
'/// toggle portb.3
'/////////////////////////////////////////////////////////
$regfile = "AT26def.dat" ' used device
$crystal = 8000000
$hwstack = 32 ' default use 32
$swstack = 10 'default use 10 for
$framesize = 40 'default use 40 for
Config Portb = Output
Led Alias Portb.0
Tccr1a = 17 'toggle ocr1b in pwm mode
Tccr1b = 135 'clock PRESCALE 64 ctc1 an relod nach compare b/c
Ocr1b = 125 'vorlasen servo mitte
Ocr1c = 255 'compare zahl
Enable Interrupts
Do
Wait 2 '' ' ' ' ' ' ' ' ' '
Toggle Led
Ocr1b = 192 '0,5ms servo links
Wait 2
Toggle Led
Ocr1b = 63 '1,5ms servo rechts
Loop
End 'pulsbreite 2ms