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)