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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren