Hi, Ich habe jetzt deine "schnelle" Variante genommen - geht sehr gut:
Code:
$regfile = "m32def.dat" ' specify the used micro
$crystal = 16000000 ' used crystal frequency 16mHz
$framesize = 80
$hwstack = 80
$swstack = 80
$baud = 9600
Config Porta.0 = Output
Config Porta.1 = Output
Config Porta.2 = Output
Config Porta.3 = Output
Config Porta.4 = Output
Config Porta.5 = Output
Config Porta.6 = Output
Flashlinks Alias Porta.0
Flashrechts Alias Porta.1
Baconheck Alias Porta.2
Flashheck Alias Porta.3
Landescheinwerfer Alias Porta.4
Posilightlirot Alias Porta.5
Posilightregruen Alias Porta.6
Config Timer2=Timer, Prescale=256
Start Timer2
Config INT0=Change
On INT0 Flanke
Enable INT0
Enable Interrupts
Dim Start1 As Byte
Dim Stop1 As Byte
Dim Impuls As Byte
Dim Flag As Bit
Dim V11 As Byte
Do
If Flag = 1 then
Flag = 0
Impuls = Stop1 - Start1
If Impuls > 110 Then
Set Flashlinks
Set Flashrechts
Set Baconheck
Set Flashheck
Set Landescheinwerfer
Else
If Impuls > 80 Then
Set Flashlinks
Set Flashrechts
Set Baconheck
Set Flashheck
Reset Landescheinwerfer
Else
If Impuls < 75 Then
Reset Flashlinks
Reset Flashrechts
Reset Baconheck
Reset Flashheck
Reset Landescheinwerfer
End If
End If
End If
If V11 = 50 Then
Print "Impuls Kanal 1 " ; Impuls ; " " 'die Leerzeichen, weil Impuls 2- oder 3stellig sein kann)
V11 = 0
End If
End if
Loop
Flanke:
If PIND.2=1 then
Start1 = Timer2
Else
Stop1 = Timer2
Flag = 1
V11 = V11 + 1
End if
Return
Ich habe das Problem jetzt erkannt - Timer 1 und die Blitzlichter
Ich galube da muss ich mir was anderes Überlegen - oder hast du einen Tipp?
Lesezeichen