Re: Neue RC5-Funktionen Kategorie: Programmierung Basic (von Jürgen - 14.12.2008 12:16) | |
Als Antwort auf Neue RC5-Funktionen von Jürgen - 14.12.2008 12:03
| |
> Hallo, > > ich wollte gerade die RC5-Funktionen Testen. Also mit RC5_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 > Einen Fehler habe ich eben selbst gefunden: 0b0011000000000001 ist nicht 14336 sonden 12289. Trotz Korrektur verlässt kein RC5-Befehl die IR-LED. Grü�e Jürgen | |
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum