MelMan
26.06.2008, 19:53
Guten abend zusammen
Hab hier ein Problem was mich schon länger beschäftigt:
Ich hab einen TSOP-38 an einen MEGA8 gepackt (an Port C.4). Nun wollte ich das IR-Signal meiner TV-Fernbedienung aufnehmen. Soweit so gut hab ein Programm mit einem Timer geschrieben, der mir immer die High- oder Lowpegelzeiten übermittelt. Nun habe ich irgendetwas von RC5 aufgegabelt und Manchestercode. Wenn ich das Signal meiner Austaster (TV-Fernbedienung) aufnehme, bekomme ich folgendes:
WertL:314
WertH:668
WertL:314
WertH:5732
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:314
WertH:5680
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:314
WertH:5680
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:314
WertH:5681
WertL:314
WertH:5680
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:314
WertH:5680
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5684
WertL:314
(Taste ca. 3 Sek. gedrückt)
Mein Programm dazu sieht folgendermaßen aus:
$regfile = "m8def.dat"
$framesize = 24
$swstack = 8
$hwstack = 32
$crystal = 16000000
$baud = 9600
Dim B As Integer
Dim A As Integer
Config Pinc.4 = Input
Config Timer0 = Timer , Prescale = 1
Enable Timer0
On Timer0 Isr_von_timer0
Enable Interrupts
B = 0
Print "da"
Do
If Pinc.4 = 1 Then
If B = 0 Then
Print "WertL:" ; A
A = 0
B = 1
End If
End If
If Pinc.4 = 0 Then
If B = 1 Then
Print "WertH:" ; A
A = 0
B = 0
End If
End If
Loop
End
Isr_von_timer0:
Timer0 = 0
A = A + 1
Return
Wie kann ich das Signa jetzt wieder so ausgeben, dass ich mit dem µC den Fernseher bedienen kann??? Könnt ihr mir da helfen oder hilfreiche Links geben?
Mfg Mel
Hab hier ein Problem was mich schon länger beschäftigt:
Ich hab einen TSOP-38 an einen MEGA8 gepackt (an Port C.4). Nun wollte ich das IR-Signal meiner TV-Fernbedienung aufnehmen. Soweit so gut hab ein Programm mit einem Timer geschrieben, der mir immer die High- oder Lowpegelzeiten übermittelt. Nun habe ich irgendetwas von RC5 aufgegabelt und Manchestercode. Wenn ich das Signal meiner Austaster (TV-Fernbedienung) aufnehme, bekomme ich folgendes:
WertL:314
WertH:668
WertL:314
WertH:5732
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:314
WertH:5680
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:314
WertH:5680
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:314
WertH:5681
WertL:314
WertH:5680
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:314
WertH:5680
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5681
WertL:313
WertH:5684
WertL:314
(Taste ca. 3 Sek. gedrückt)
Mein Programm dazu sieht folgendermaßen aus:
$regfile = "m8def.dat"
$framesize = 24
$swstack = 8
$hwstack = 32
$crystal = 16000000
$baud = 9600
Dim B As Integer
Dim A As Integer
Config Pinc.4 = Input
Config Timer0 = Timer , Prescale = 1
Enable Timer0
On Timer0 Isr_von_timer0
Enable Interrupts
B = 0
Print "da"
Do
If Pinc.4 = 1 Then
If B = 0 Then
Print "WertL:" ; A
A = 0
B = 1
End If
End If
If Pinc.4 = 0 Then
If B = 1 Then
Print "WertH:" ; A
A = 0
B = 0
End If
End If
Loop
End
Isr_von_timer0:
Timer0 = 0
A = A + 1
Return
Wie kann ich das Signa jetzt wieder so ausgeben, dass ich mit dem µC den Fernseher bedienen kann??? Könnt ihr mir da helfen oder hilfreiche Links geben?
Mfg Mel