Sobald Timer-Code eingebunden, wait ungenau
Hi,
ich will eine IR-Led auf ein 38Khz trägersignal bringen und benutze dazu den Timer0. Sobald ich den Code dafür einsetze, wird das "Wait 1" zu ca "Wait 3".
Ist der Timer-Code aber draußen, geht alles normal.
Code:
$regfile "m8def.dat"
$crystal = 3686400
$baud = 2400
Config Lcdpin = Pin , Db4 = Portd.7 , Db5 = Portb.0 , Db6 = Portb.5 , Db7 = Portb.4 , E = Portd.6 , Rs = Portd.5
Config Lcd = 16 * 2
Initlcd
Display On
Cursor Off
Cls
Locate 1 , 1
Lcd "Willkommen"
Locate 2 , 1
Lcd "AVR->IR->RCX"
Config Portd.4 = Output
Ir Alias Portd.4
Dim X As Word
Config Timer0 = Timer, Prescale = 1
'Hier wird das Unterprogramm festgelegt, das
'in dem von ihnen eingestellten Intervall aufgerufen wird
On Timer0 Timer_irq
'Diese Vorgabe wurde berechnet um die genaue Intervallfrequenz zu erreichen
Const Timervorgabe = 159
'Hier werden die Timer aktiviert
Enable Timer0
Enable Interrupts
Do
Locate 1 , 1
Lcd X
X = X + 1
Wait 1
Loop
Timer_irq:
Timer0 = Timervorgabe
Toggle Ir
Return
Sobald ich "enable interrupts" auskommentiere geht alles wieder aber mein timerinterrupt ja nicht.
Was kann ich dagegen tun?
MFG PcVirus
Liste der Anhänge anzeigen (Anzahl: 1)
hallo, habe zwar mit timern noch nicht viel am hut ,aber sortiere mal
dein programm und setzte die einstellungen alle an den anfang.
habe es mal gemacht und steht im anhang,kann sein das der
controller damit durcheinander kommt und damit die lange wartezeit
entsteht,er muss am anfang alles setzt wie du möchtest und dann ist gut.
konnt es aber so nicht testen.