Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

RC5-Write macht nicht ganz das, was es soll Kategorie: Programmierung Basic (von Jürgen - 20.01.2009 21:44)
Ich nutze:
C-Control Pro Mega32, CC-Pro 32 Application Board
Hallo zusammen,

gespannt habe ich auf die neue Beta-Version gewartet, hurra, jetzt ist sie da! Gleich die 1.99 installiert
und kurz darauf die 1.99.1. Mein vorhandenes, bis jetzt aber noch nicht funktionierendes IR-Fern-
bedienungsprogramm compiliert und ...

Select Case Taste
...
Case 32768
...
End Select

Semantik Fehler - konstanter Ausdruck muÃ? 16Bit Integer mit Vorzeichen sein
ein Fehler - Kompilation abgebrochen.

... schade, hat bei V.1.71 noch nicht zum Abbruch geführt (ob das Programm richtig funktioniert hätte
weis ich nicht) Workaround:

       Else
            If Taste = 32768 Then '#  <--- Zahl zu groÃ? für "Case"
                Text2 = "# "
                RC5Data = 0b0011000000000001
                RC5_Write(RC5Data)
            End If
        End Select


So noch mal compiliert und JA! Keine Fehler, also ab damit auf die C-Control und Programm
gestartet. Nachdem die Kontroll-LED auch noch mit flackern auf einen Tastendruck reagiert hat,
bin ich schnell zum Fernseher geflitzt und wollte auch dort den RC5-Erfolg sehen...

Wieder schade, der Fernseher reagiert nicht. Hab' ich meine IR-LED nicht richtig beschaltet? Video-
Kamera draufgehalten, IR-LED flackert im Gleichtakt zur Kontroll-LED, das war nicht der Fehler.
Also das Board eingepackt und auf zur Arbeit (dort steht ein Osszi und wartet genau auf solche
Problemfälle). Hier bis zur Pause ungeduldig meine Arbeit gemacht und dann das Board angeklemmt.
Taste 1 gedrückt, Ergebnis: 14 Bits auf dem Osszi, sieht erst mal gut aus. Dann die Zeitauflösung
etwas kleiner gedreht um zu sehen ob die Bits auch moduliert sind...auch i.O.. Danach mal die
Tasten 2, 3, 4 ,5 gedrückt, komisch das Bitmuster ändert sich ja nur von 1 nach 2, dann nicht mehr
(sollte auch 2, 3, 4 und 5 sein). Hm, noch mal ins Programm geguckt, ob ich auch wirklich
verschiedene Codes verschicke: Ja, soweit ich das überschaue schon. Hier mal ein Auszug:

Dim Text2(9) As Char
Dim Taste As Word
Dim Losgelassen As Byte
Dim RC5Data As Word
Dim Toggle As Word
Dim Nochmal As Byte

Sub VerarbeiteTaste()
    Taste = Key_Scan()
    If (Taste <> 0) And (Losgelassen Or Nochmal) Then
        If Not Nochmal Then
            Timer_T1Time(1638,PS0_1024) '113,74ms
        End If
        Losgelassen = False
        Nochmal = False
        Select Case Taste
        Case 8192  '1
            Text2 = "1 "
            RC5Data = 0b0011000000000001 Or Toggle 'Versuch mit dem Toggle-Bit(2048)
            RC5_Write(RC5Data)
        Case 8     '2
            Text2 = "2 "
            RC5Data = 0b0011000000000010
            RC5_Write(RC5Data)
        Case 1     '3
            Text2 = "3 "
            RC5Data = 0b0011000000000011
            RC5_Write(RC5Data)
        Case 1024  '4
            Text2 = "4 "
            RC5Data = 0b0011000000000100
            RC5_Write(RC5Data)
...
        End Select
        Str_WriteWord(Taste, 10, Text2, 2, 0)
        ZeigeMenue()
    ElseIf (Taste = 0) And (Not Losgelassen) Then
        Losgelassen = True
        Timer_T1Stop()
        Text2 = "#: Aus"
        ZeigeMenue()
        If Toggle = 0 Then
            Toggle = 2048
        Else
            Toggle = 0
        End If
    Else ' !?! --notwendig, Programm funktioniert ohne diese Zeile nicht !?!
    End If
End Sub


Meiner Meinung nach sollte das funktionieren :-(. Jetzt muss ich wieder jemanden Fragen, der sich
damit auskennt, war bis jetzt hier aber kein Problem.

Grü�e und schon mal Dank dem, der mir helfen kann
Jürgen

Hier noch ein paar Osszi-Bilder:

Bitfolge für "1" ... stimmt irgendwie nicht, erkenne keine Startbits und auch nicht die 1


Bitfolge für "2" ... kann keinen Zusammenhang zwischen gewünschter Bitfolge und Osszibild erkennen


Bitfolge für "3" ... sieht aus wie Bitfolge für "2"


Zwei RC5-Befehle nacheinander, Abstand sieht gut aus


Modulation eines Bits ... sieht gut aus




    Antwort schreiben


Antworten: