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; }
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.
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.