stefan_Z
08.12.2007, 18:55
Hi!
Ich habe ein kleines Problem mit der Kombination aus GETKBD() und RC5Send beim Tin2313.
1: Ich lese eine 4x7 Matrix-Tastatur aus. - Das geht super.
2: Ich sende mit RC5Send RC5-Codes - Das geht auch super.
1+2: Ich kann die eingelesenen Codes verarbeiten und auch versenden, aber da PinB.3 (OC1a) ja zwingend für das Senden benutzt werden muss, macht er Probleme mit seiner Keyboard-Spalte.
Ich bekomme auf allen Tasten dieser Spalte immer nur 27 als Wert.
Es sollten eigentlich 23, 19, 15, 11 und 7 sein
Jetzt ist das Auslesen der Matrix ja keine große Sache, man kann die Pins anderweitig einsetzen. Nur gelingt mir das nicht wirklich. Input/Output und auch 0/1 umschalten führen nicht weiter. Oder ich finde die richtige Kombination nicht.
Wer weiß was?
$regfile = "attiny2313.dat"
$crystal = 8000000
$hwstack = 64
$swstack = 16
$framesize = 21
$baud = 9600
Config Kbd = Portb , Debounce = 100 , Rows = 6 , Row5 = Pind.5 , Row6 = Pind.4
Declare Sub Rc5_senden(key_code As Byte)
Dim Key_scan As Byte
Do
Key_scan = Getkbd()
If Key_scan <> 24 Then
Call Rc5_senden(key_scan)
End If
Waitms 40
Loop
End
Sub Rc5_senden:
Local Togbit As Byte , Address As Byte
Togbit = 0
Address = 0
Config Pinb.3 = Output
Rc5send Togbit , Address , Key_code
End Sub Rc5_senden
Ich habe ein kleines Problem mit der Kombination aus GETKBD() und RC5Send beim Tin2313.
1: Ich lese eine 4x7 Matrix-Tastatur aus. - Das geht super.
2: Ich sende mit RC5Send RC5-Codes - Das geht auch super.
1+2: Ich kann die eingelesenen Codes verarbeiten und auch versenden, aber da PinB.3 (OC1a) ja zwingend für das Senden benutzt werden muss, macht er Probleme mit seiner Keyboard-Spalte.
Ich bekomme auf allen Tasten dieser Spalte immer nur 27 als Wert.
Es sollten eigentlich 23, 19, 15, 11 und 7 sein
Jetzt ist das Auslesen der Matrix ja keine große Sache, man kann die Pins anderweitig einsetzen. Nur gelingt mir das nicht wirklich. Input/Output und auch 0/1 umschalten führen nicht weiter. Oder ich finde die richtige Kombination nicht.
Wer weiß was?
$regfile = "attiny2313.dat"
$crystal = 8000000
$hwstack = 64
$swstack = 16
$framesize = 21
$baud = 9600
Config Kbd = Portb , Debounce = 100 , Rows = 6 , Row5 = Pind.5 , Row6 = Pind.4
Declare Sub Rc5_senden(key_code As Byte)
Dim Key_scan As Byte
Do
Key_scan = Getkbd()
If Key_scan <> 24 Then
Call Rc5_senden(key_scan)
End If
Waitms 40
Loop
End
Sub Rc5_senden:
Local Togbit As Byte , Address As Byte
Togbit = 0
Address = 0
Config Pinb.3 = Output
Rc5send Togbit , Address , Key_code
End Sub Rc5_senden