-
        

Ergebnis 1 bis 3 von 3

Thema: SHIFTIN Probleme mit PS/2 Gerät... [gelöst]

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594

    SHIFTIN Probleme mit PS/2 Gerät... [gelöst]

    Anzeige

    HI!

    Ich habe hier ne PS/2 Tastatur an einen M16 angeklemmt.
    Als Vorlage diente http://www.marjorie.de/ps2/ps2_protocol.htm.
    Der Aufbau ist korrekt, der AVR kann die Beiden Leitungen mit den Transis auf GND ziehen und wenn ich beide Leitungen nur über die Pullups laufen lasse, dann sendet das Keyboard auch (habe LEDs in DATA/CLOCK eingeklemmt.).
    - Taste drücken > beide flimmern kurz
    - Taste halten > einmal flimmern, dann dauerndes Flimmern
    - Die Break-Codes werden anscheinend auch gesendet.

    Der AVR ist per RS232 mit dem Rechner verbunden, Übertragung geht auch.

    Jetzt steht das Programm anscheinend beim SHIFTIN - und da kommt nix rein.
    Die Option für externe Clock hab ich gesetzt, von 4 bis 7, bringt alles nix.
    4 – MSB shifted in first when clock goes low with ext. clock
    5 – MSB shifted in first when clock goes high with ext. clock
    6 – LSB shifted in first when clock goes low with ext. clock
    7 – LSB shifted in first when clock goes high with ext. clock
    Der ganze Befehl lautet:
    Code:
    SHIFTIN PS2_Data , PS2_clock , Word_variable , <4-7> , 11 (bits)
    danach kommt nur ein
    Code:
    PRINT "Ausgabe:   " ; Word_variable
    LOOP
    Bis auf DELAY hab ich alle Optionen eingebaut, irgendwie weiß ich nicht mehr weiter... es kommt einfach nichts...

    Achja.. Die PS/2 Tastatur-Funktion von Bascom kenne ich, die geht auch, aber ich will grundsätzlich mit der Tastatur (und morgen, wenn ich eine gekauft habe, einer Maus) sprechen.

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    OK, mal wieder ein ziemlich dummer Fehler (bzw. eine Eigenart von Bascom):
    Bei SHIFTIN muss man den Empfangspin über PINx.n definieren, NICHT über PORTx.n
    Ich hatte oben im Source ein
    Code:
    PS2_Data Alias PortA.0
    eingebaut, das muss dann natürlich
    Code:
    PS2_Data Alias PinA.0
    sein, dann klapp der Empfang auch.

    Dieses Verwirrspiel nervt mich jedes mal, vor allem weil man den Pin dann über das Alias nicht auf 0/1 stellen kann, das geht nur über eine Definition per PORTx.n

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    das ist keine Eigenart von Bascom, sondern vom AVR so vorgegeben, da kann Bascom diesmal garnix dafür [-X

Berechtigungen

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