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

Schieberegister vom Tastaturport auslesen Kategorie: CC-Pro Unit & Appl.Board (von Michi - 28.12.2010 8:45)
Ich nutze:
C-Control Pro Mega32, CC-Pro 32 Application Board
Hallo,


Da ich die Tastatur nicht brauche hab ich das Schieberegister vewendet um die Eingänge
 des Tastaturports verwenden zu können.

Ich habe der Key_Lib.cc folgendes hinzugefügt:

byte Key_Port(int keys, int port)
{

        keys=keys>>port;
      if  ((keys&1)== 1)
      {
          return 1;
      }
      else
      {
          return 0;
      }
}

Und Ã?bersetzte mit folgender SUB:

Sub in(port As Byte)  As Byte

   If port=0 Or port=1 Or port=2 Or port=11Then :Return Key_Port(Key_Scan(),port):End If
   If port=3 Then :Return Key_Port(Key_Scan(),15):End If
   If port=4 Then :Return Key_Port(Key_Scan(),3):End If
   If port=5 Then :Return Key_Port(Key_Scan(),14):End If
   If port=6 Then :Return Key_Port(Key_Scan(),8):End If
   If port=7 Then :Return Key_Port(Key_Scan(),9):End If
   If port=8 Then :Return Key_Port(Key_Scan(),13):End If
   If port=9 Then :Return Key_Port(Key_Scan(),10):End If
   If port=10 Then :Return Key_Port(Key_Scan(),12):End If

   Return 0
End Sub

So erfolgt also die Auswertung nach Abschüssen 0-11 sortiert:

in(1) - in(11) gibt 1 oder 0 zurück.


Was mich daran stört ist das ich in der Sub bis zu 15 bit verschieben muss um z.B. den Port3
 zu erreichen.
Mach ich da was falsch?

Danke für eure Mithilfe.







    Antwort schreiben


Antworten: