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?


Code:
$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