Ich habe noch nie in Bascom programmiert und habe mir gerade mal nur den Sendecode angeschaut.
Das kann so nicht funktionieren.
Erstens: Wie ich schon zweimal erwähnt habe. Die Sende LED darf nicht dauernd leuchten. Du musst sie mit 36 kHz modulieren - sonst liefert dein TSOP Empfänger IMMER nur 0 zurück.
In den Sende routinen musst du nicht 500 ms warten (was sogar falsch ist) und du musst auch nicht dien PORTb.0 wieder auf Null zurück setzen.
Zur Modulation.
So etwa sollte die Senderoutine aussehen.Code:$regfile = "m8def.dat" $crystal = 12000000 Dim Daten As Byte Dim A As Integer Config Portb = Output Mainloop: Daten = 170 For A = 1 To 8 If Daten.0 = 1 Then Gosub Send1 Else Gosub Send0 End If rotate Daten , Right , 1 Waitms 500 Next A Goto Mainloop Send1: Send = 1 Goto Mainloop Send0: Send = 0 Goto Mainloop Timer [der alle 1/ 72 000 s aufgerufen wird]: if send = 1 Then if toggle = 0 Then toggle = 1 PORTb.0 = 1 else toggle = 0 PORTb.0 = 0 end if else Portb.0 = 0 end if
Ich schau mir gleich noch die Empfangsroutine an.
Grüße
Flite
EDIT: Ach ja: eine Startbedingung fehlt natürlich auch. Sonst empfängt dein Empfänger nachher immer nur müll ...







Zitieren

Lesezeichen