www.mikrocontroller.net

Forum: Compiler & IDEs AVR und PS2-PC-AT-Tastatur


Autor: Virus89 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab in den Ferien angefangen mich mit C zu beschäftigen
ich versuch schon seit fast 2 Tagen mit meinem atmega8
Tastatureingaben zu empfangen und vieleicht zu senden,
aber ich scheitere immer wieder an Compilerfehlern da ich in C noch 
nicht so viel Ahnung hab

ich such also eine Funktion die wartet und Buchstaben empfängt
und eine die Buchstaben an den PC senden kann

und vielleicht noch ne kurze Erklärung zur Funktionsweise damit ich sie 
besser bei mir einbauen kann

im Prinzip gibt’s ja 2 Möglichkeiten
1. die Tastatur hängt an zwei Pin's vom AVR und der Computer
   hängt an den gleichen (z.B. data = PD4 und clock = PD2 (INT0)) oder
2. die Tastatur hängt an zwei Pin's (z.B. data = PD4 und clock = PD2
   (INT0)) und der Computer an zwei Anderen (data = PD7 und clock = PD2
   (INT1))

mit Bascom funktioniert das Empfangen wunderbar (wenn die Tastatur nur 
am AVR hängt, aber wenn man den AVR einschleift und die Tastatur noch am 
PC anschließt kommt nur Mist am Terminal an, da der PC auch noch 
irgendwas sendet)
das Senden mit Bascom ist schwer umzusetzen, seiden man kauft sich sone
PS2AT Mouse and Keyboard Emulator Libarie

in C gibt es jedoch ne Menge Beiträge zu dem Thema, ich hab in der Datei 
PS2-PC-AT-keyboard.rar mal par Sachen zusammengefasst die ich so 
gefunden hab, die funktionieren aber bei mir nicht und anpassen schaff 
ich nicht (funktionieren vieleicht unter älteren Compilern)

da ich Vista hab muss ich aber die hier nutzen:

AVR Studio 4
Version 4.13
Build 528

WinAVR 20070525

(neuste Versionen)

welche auch sonst wunderbar funktionieren (Terminal, Led's ...)

ich freu mich auf eure Antworten

danke

Autor: Virus89 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Der Dateianhang ist nicht angekommen, ich versuchs nochmal

Autor: Virus89 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so das Empfangen funktioniert schon mal, egal ob mit PC oder wenn die 
Tastatur nur am AVR hängt
ne Sendefunktion zum PC mach ich später mal

Autor: Philipp Karbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,
hab den code mal mit meinem mega32 getestet! Funktioniert schon ganz 
gut, wenn ich allerdings das print_hexbyte rausnehme zeigt er oft unsinn 
an!

Autor: Virus89 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja ich hab das gleiche Problem mit dem print_hexbyte, ich hab min. 2 
Tage versucht das wegzubekommen, eine eventuelle Lösung hab ich 
gefunden, man sendet einfach an der Stelle 2 mal '\n' , am Terminal 
dürfte eigentlich nichts passieren meins macht nur bei '\r' einen 
Zeilenumbruch oder man sendet irgend einen String z.B. "--"
Ich habe es auch mal mit Interrupt gesteuerter UART versucht, brachte 
aber auch keinen Erfolg

Autor: Philipp Karbach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
hatte noch keine zeit mich weiter damit zu beschäftigen aber ich denke 
da liegt ein timing problem vor. Du sendest und empfängst immer im 
while-loop, im interrupt werden die bits geschoben die über den INT0 
hereinkommen, bestimmt passieren da zwei sachen gleichzeitig, sodass er 
teilweise zeichensalat sendet. Interessant ist ja einfach, dass immer 
der richtige Buchstabe mitgesendet wird. Also rein theoretisch 
funktioniert es ja ;). Schau mal in der Codesammlung nach, da gibt es 
beispiele die es auch mit dem INT0 regeln, such mal nach AT Tastatur und 
dergleichen!

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.