Tastatur Clock Synchronisieren

Gast #273743
Lesenswert?
• ▲
▼
Hallo,

mein Ziel ist es eine Tastatur an einen AT90S8515 anzuschließen mit
ACR-GCC.

Dazu habe ich die folgende Frage:

Wie bekomme ich die Clockleitung synchronisiert?

Ich habe schon alle möglichen Forenbeiträge und Google abgesucht,
konnte aber die Idee die hinter der Synchronisation steckt nicht
nachvollziehen.

Ich gehe davon aus:

1. Ich kann den Clock Pin an jede beliebigen PIN anschließen und ich
brauche kein UART dafür.

2. Benötige ich dafür einen Interrupt oder funktioniert das auch mit
einer nrmlaen Funktion die aufgerufen wird?

2. Meine Programmstruktur der Funktion:

PINC0 ist Datenleitung
PINC1 ist Clockleitung

        int x,i;                   // Zähler bis CHAR koplett
  char Buchstabe[8];
  x=8;
  i=0;

  while (x)
  {
    while (PINC&(1<<PINC0))
      {}
    i=i+1;
    Buchstabe[i]=PINC0;
    while (PINC&(0<<PINC0))

      {}
    x=x-1;
  }
Gast #273744
Lesenswert?
• ▲
▼
Warum willst du die Clock-Leitung synchronisieren? Soweit ich weiss,
wird "die Clock" vom Master vorgegeben, also vom 90S8515. Die
Tastatur ist wie beim I2C-Bus der Slave. Also gibt der Master den Takt
an und die Tastatur zieht den Pegel bei jedem Takt und je nach Datum
auf 0. Der Master registriert, wenn er einen Takt ausgibt, ob der Level
der Datenleitung auf 1 bleibt oder nach 0 gezogen wird und so werden die
Daten uebermittelt.

Du brauchst also weder UART noch interrupt dafuer.
Gast #273745
Lesenswert?
• ▲
▼
@Hegy: Falsch, die Clock wird IMMER von der Tastatur / Maus vorgegeben,
der Host (Master) muß sich danach richten und darf lediglich
unterbrechen und anfordern. UART scheidet eben deswegen auch aus.

Tastaturprotokoll gibt´s bei www.marjorie.de

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.