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

Neue RC5-Funktionen Kategorie: Programmierung Basic (von J├╝rgen - 14.12.2008 12:03)
Ich nutze:
C-Control Pro Mega32, CC-Pro 32 Application Board
Hallo,

ich wollte gerade die RC5-Funktionen Testen. Also mitRC5_Init(18) 'Port C.2 = Bit 18
den E/A-Port auf C.2 festgelegt. Die ├╝ber einen Treiber angeschlossene gelbe LED (parallel zur
IR-LED) leuchtet, vermutlich weil der Port noch als Eingang geschaltet ist. Dann weiter mit
Dim RC5Data As Word
RC5Data = 0b0011000000000001
RC5_Write(RC5Data)

und die LED geht aus. Kann sein, dass ich das kurze flackern des RC5-Befehls im Anschluss
an das Dauer-An der LED nicht gesehen habe, deshalb nochmal

RC5Data = 0b0011000000000001
RC5_Write(RC5Data)

-kein Flackern der LED :-( . Macht nichts, ist ja ne Beta-Version, weiter probiert mit

RC5Data = 14336 'vielleicht funktioniert die Bin├Ąrkonstante nicht
RC5_Write(RC5Data)

hat aber leider auch nicht die LED zum flackern gebracht. Das Progr├Ąmmchen hier:


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

Sub ZeigeMenue()
    Dim Text(9) As Char
    LCD_ClearLCD()
    LCD_CursorOff()
    LCD_CursorPos(0)
    Text = "*: Men├╝"
    Text(6) = 245 '├╝ im Text ├╝berschreiben, wird sonst nicht richtig dargestellt
    LCD_WriteText(Text)
    LCD_CursorPos(64)
    LCD_WriteText(Text2)
End Sub

Sub VerarbeiteTaste()
    Taste = Key_Scan()
    If (Taste <> 0) And Losgelassen Then 'jeden Tatendruck nur einmal bearbeiten
        Losgelassen = 0
        Select Case Taste
        Case 8192  '1
            Text2 = "1 "
            'RC5Data = 0b0011000000000001
            RC5Data = 14336 'vielleicht funktioniert die Bin├Ąrkonstante nicht
            RC5_Write(RC5Data)
        Case 8     '2
            Text2 = "2 "
            RC5Data = 0b0011000000000010
            RC5_Write(RC5Data)
        Case 1     '3
...
        Case 512   '0
            Text2 = "0 "
            RC5Data = 0b0011000000000000
            RC5_Write(RC5Data)
        Case 2048  '*
            Text2 = "* "
            'RC5Data = 0b0011000000000001
            'RC5_Write(RC5Data)
        Case 32768 '#
            Text2 = "# "
            'RC5Data = 0b0011000000000001
            'RC5_Write(RC5Data)
        End Select
        Str_WriteWord(Taste, 10, Text2, 2, 0)
        ZeigeMenue()
    ElseIf (Taste = 0) And (Losgelassen = 0) Then
        Losgelassen = 1
        Text2 = "#: Aus"
        ZeigeMenue()
    Else ' !?! --notwendig, Programm funktioniert ohne diese Zeile nicht !?!
    End If
End Sub

Sub main()
    RC5_Init(18) 'Port C.2 = Bit 18
    LCD_Init()
    Key_Init()
    Text2 = "#: Aus"
    ZeigeMenue()
    Losgelassen = 1
    Do
        VerarbeiteTaste()
    Loop While True
End Sub


entdeckt jemand den Fehler? Die Ausgabe aufs Display funktioniert.

Peter und Ulli, k├Ânnt Ihr Euch mal das Else am Ende der
Sub VerarbeiteTaste()
ansehen? Ohne das Else tut das nicht.

Gr├╝├če
J├╝rgen


    Antwort schreiben


Antworten:

Re: Neue RC5-Funktionen (von J├╝rgen - 14.12.2008 12:16)