mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tastatur Clock Synchronisieren


Autor: Michael Kleinknecht (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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;
  }

Autor: Hegy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.