also bei dem code einfach an Int0 den Tsop1736 anschließen und dann per terminal die ausgaben anschauen?
Code:
$crystal = 8000000
$regfile = "m8def.dat"
$hwstack = 32                                               ' default use 32 for the hardware stack
$swstack = 10                                               'default use 10 for the SW stack
$framesize = 40                                             'default use 40 for the frame space
$baud = 38400

Ddrd.2 = 0
Portd.2 = 1                                                 'PullUp wenn nötig
Dim Flanke As Byte
Dim Flanken_index As Byte
Dim Befehl As Word
Dim I As Byte                                               'Word sollte reichen, da nur 12 bit relevant sind
Dim Ausgabe_flag As Byte
Dim Flanken_array(40) As Byte
Config Timer0 = Timer , Prescale = 8                        'hier den Timer eintragen (8-bit)
On Ovf0 Tim0_isr
Enable Timer0
Const Timer0_reload = 100                                   '8000000/8/(100) entspricht 10Khz
Load Timer0 , Timer0_reload                                 'Auflösung reicht und gefundene Werte entsprechen immer 100µs

Config Int0 = Change                                        'externer interrupt, z.B. Int0 auf portd.2 oder ein PCInt
On Int0 Int0_isr
Enable Int0
Enable Interrupts

Do
   If Ausgabe_flag = 1 Then
      Ausgabe_flag = 0
      Print Befehl ; " " ; Bin(befehl) ; " " ; Flanken_index;
      For I = 1 To Flanken_index
         Print " " ; Flanken_array(i);
      Next I
      Print ""
   End If
Loop

End

Tim0_isr:
   Load Timer0 , Timer0_reload
   If Flanke = 199 Then Ausgabe_flag = 1
   'If Flanke = 199 And Flanken_index = 25 Then Ausgabe_flag = 1
   If Flanke < 200 Then                                     'Kein Impuls für 20ms
      Incr Flanke                                           'bei jedem Überlauf um 1 erhöhen
   End If
Return

Int0_isr:                                                   'RC Impuls erkannt
   If Flanke = 200 Then
      Flanken_index = 1                                     'start eines neuen Befehls
      Befehl = 0
   Else
      Flanken_array(flanken_index) = Flanke
      If Flanken_index.0 = 0 Then                           'speichert nur bei gerader Anzahl, also die Werte ~18 und ~42
         Shift Befehl , Left
         If Flanke > 30 Then Befehl.0 = 1                    'dann war es eine 1
      End If
      If Flanken_index < 31 Then Incr Flanken_index
   End If
   Flanke = 0
Return
Wie kann ich dann die empfangenen daten wieder sende per IR-Led?