BASTIUniversal
03.01.2006, 20:11
Hallo!
Ich möchte für einen US-Sender 16 Impulse bei 40kHz Ausgeben. Die 40kHz ausgeben ist kein Problem, aber die 16 Impulse nach einen Tastendruck zu beginnen und dann nach den 16 Impulsen Automatisch abschalten...das bereitet mir Sorgen!
Hier mal das Programm:
$regfile = "m8def.dat"
$crystal = 3686400
Dim A As Integer
Tccr1a = &B01000000
Tccr1b = &B00001001
Compare1a = 45
Stop Timer1
Config Int0 = Low Level
Ddrb.1 = 1
Ddrd.2 = 0
Portd.2 = 1
Ddrb.0 = 0
Portb.1 = 1
On Compare1a X1
On Int0 X2
Enable Interrupts
Do
If A = 16 Then
Stop Timer1
End If
Loop
X2:
Start Timer1
Return
X1:
Incr A
Return
Kann mir vllt. jemand sagen wo da der Fehler liegt? Ich hab schon einiges probiert (Clock abgeschaltet, Timer in Normal-Modus versetzt, etc...)
Wäre nett wenn ihr mir helfen könntet!
MfG
Basti
Ich möchte für einen US-Sender 16 Impulse bei 40kHz Ausgeben. Die 40kHz ausgeben ist kein Problem, aber die 16 Impulse nach einen Tastendruck zu beginnen und dann nach den 16 Impulsen Automatisch abschalten...das bereitet mir Sorgen!
Hier mal das Programm:
$regfile = "m8def.dat"
$crystal = 3686400
Dim A As Integer
Tccr1a = &B01000000
Tccr1b = &B00001001
Compare1a = 45
Stop Timer1
Config Int0 = Low Level
Ddrb.1 = 1
Ddrd.2 = 0
Portd.2 = 1
Ddrb.0 = 0
Portb.1 = 1
On Compare1a X1
On Int0 X2
Enable Interrupts
Do
If A = 16 Then
Stop Timer1
End If
Loop
X2:
Start Timer1
Return
X1:
Incr A
Return
Kann mir vllt. jemand sagen wo da der Fehler liegt? Ich hab schon einiges probiert (Clock abgeschaltet, Timer in Normal-Modus versetzt, etc...)
Wäre nett wenn ihr mir helfen könntet!
MfG
Basti