- 3D-Druck Einstieg und Tipps         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Probleme mit PC-AT-Tastatur

  1. #11
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329
    Anzeige

    Powerstation Test
    Hallo Tiller,

    Code:
    Config Keyboard = Pind.2 , Data = Pind.6 , Keydata = Keydata
    
    On Int0 Isr0
    Enable Int0
    Config Int0 = Falling
    
    Enable Interrupts
    
    
    Do
       'tu was geniales...
    Loop
    
    '---------------------------------------------------------------------------
    '     Isr0
    '     Interruptroutine für die Tastatur
    '     der externe Interrupt 0 überwacht die Dataleitung der Tastatur
    '---------------------------------------------------------------------------
    Isr0:                                                       'interrupt routine
     Taste = Getatkbd()                                         
     Select Case Taste
     Case 13:
       'Entertaste
     Case Else:
          If Taste <> 0 Then
             'tu was geniales...
          End If
     End Select
     Set Gifr.intf0
     Taste = 0
    Return

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    29.10.2007
    Beiträge
    76
    Hallo Günter,

    vielen Dank für deine Hilfe. Dank dir konnte ich das Ganze jetzt zum Laufen bringen. Allerdings bedurfte es zusätzlich einer mir absolut unerklärlichen Änderung der Verkabelung. Laut deinem Quelltext liegt Clock ja an Portd.2, Data an Portd.6, in dieser Konstellation tut sich allerdings wie auch zuvor absolut nichts. Lasse ich den Quelltext unverändert, schließe aber Clock an Portd.1 an, arbeitet alles tadellos. Ändere ich die Sotware auf Portd.1, streikt die Tastatur erneut. Kannst du dir das erklären?

    Gruß, tiller

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    29.10.2007
    Beiträge
    76
    Tadellos stimmt leider nicht ganz, manchmal funktioniert's, manchmal nicht. Ich kann die LED (siehe Quelltext) maximal einmal an und wieder ausschalten, danach tut sich nichts mehr.

    Code:
    $regfile = "m32def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    
    $crystal = 16000000
    $baud = 9600
    
    Dim I As Byte
    Dim Key As Byte
    
    
    Config Portc = Output
    Config Portd = Input
    Config Keyboard = Pind.2 , Data = Pind.6 , Keydata = Keydata
    
    For I = 0 To 7
       Portc.i = 1
    Next
    
    Portc.0 = 0
    
    On Int0 Isr0
    Enable Int0
    Config Int0 = Falling
    
    Enable Interrupts
    
    
    Do
       'tu was geniales...
    Loop
    
    '---------------------------------------------------------------------------
    '     Isr0
    '     Interruptroutine für die Tastatur
    '     der externe Interrupt 0 überwacht die Dataleitung der Tastatur
    '---------------------------------------------------------------------------
    Isr0:                                                       'interrupt routine
     Key = Getatkbd()
     Select Case Key
       Case Asc( "a")
          Portc.1 = 0
       Case Asc( "s")
          Portc.1 = 1
     End Select
     Set Gifr.intf0
     Key = 0
    Return
    
    Keydata:
    'normal keys lower case
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
    Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
    Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
    Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
    Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
    Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
    Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
    
    'shifted keys UPPER case
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
    Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
    Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
    Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
    Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
    Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
    Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

  4. #14
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    41
    Beiträge
    982
    du sprichts von einer externen 5V speisung...
    kann es sein dass du die beiden gnd's nicht miteinander verbunden hast?

    gruss bluesmash

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    29.10.2007
    Beiträge
    76
    Nachtrag:
    Die PS/2-Tastatur scheint eine Macke zu haben, mit der bereits erwähnten USB-Modell und einem Adapter funktioniert's wesentlich besser, fast perfekt um genau zu sein. Manchmal geht's einfach nicht weiter. Keine Reaktion mehr auf Tastendruck. Ein Reset des Boards schafft Abhilfe.

    @Bluesmash:
    Wie meinst du das genau? Welche beiden GNDs?

  6. #16
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    41
    Beiträge
    982
    du hast im ersten post geschrieben das du die Tastatur an einer externen 5V Quelle angeschlossen hast. Diese Quelle hat ja ein GND und die Quelle welche den uC versorgt hat ein GND diese beiden musst du verbinden damit beide geräte das gleiche bezugspotenzial haben.

    gruss bluesmash

  7. #17
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329
    Hallo tiller,

    kannst du mal ein Foto deines Versuchsaufbaus posten?

    danke.

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    29.10.2007
    Beiträge
    76
    Klar kann ich ein Bild posten.
    Bild hier  
    Angeschlossen ist das ISP-Kabel, das Micro-Servoboard (Spannung und RS232). An PortD ist das grüne Kabel (1) Clock, das einzelne Weiße (6) Data und das Weiße neben dem Grünen unbelegt.

    Achso, wegen der Spannungsversorgung. Mit extern meinte ich, dass ich die Spannung nicht am Board abzapfe. Das Netzteil ist allerdings das gleiche, es handelt sich um ein ATX-NT aus dem PC-Bereich.

  9. #19
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.05.2007
    Beiträge
    329
    Hallo tiller,

    lange ungeschirmte Leitungen zum Tastaturstecker, Masse nimmt einen anderen Weg. Das könnten Fehlerquellen sein. Schau doch das Signal mal mit dem Oszi an.

    Achja, die internen Pullup-Wiederstände fallen mir auch noch ein.

    Günter

  10. #20
    Benutzer Stammmitglied
    Registriert seit
    29.10.2007
    Beiträge
    76
    Hallo Günter,

    Ich habe leider keine Möglichkeit, von solch einem Gerät Gebrauch zu machen. Das Bild oben habe ich aktualisiert, die Kabel zur PS/2-Buchse sind etwa 10cm lang, meinst du, es liegt an Ihnen? Mittlerweile geht übrigens wieder garnichts mehr. Hatte zwischendurch wieder etwas mit dem Servoboard experimentiert und die Lüsterklemmen durch Lötverbindungen ersetzt. Erklären kann ich mir den Totalausfall wiederum nicht. Wie meinst du das mit den Pullup-Widerständen? Was ist mit denen?

    Werd mir wohl am besten selbst 'ne Tastatur basteln, dann kann ich die Tasten auch gleich so anordnen, wie sie für mich am besten liegen. Kannst du mir 'ne Seite nennen, wo ich mich darüber informieren kann? Im RN konnte ich leider nichts finden, vielleicht hab ich's aber auch einfach übersehen. Lohnt sich deiner Meinung die Anschaffung des Buches über Bascom-Programmierung von Claus Kühnel? Hatte nur mal kurz reingeschaut und dort auch etwas über Tastaturen gefunden.

    Gruß, tiller

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests