Forum: Mikrocontroller und Digitale Elektronik Tastatur Clock Synchronisieren


von Michael Kleinknecht (Gast)


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;
  }

von Hegy (Gast)


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.

von TravelRec. (Gast)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.