Autor Thema: Funktion für Eingabe  (Gelesen 5179 mal)

hrungaaz

  • Beiträge: 33
    • Profil anzeigen
Gespeichert
« am: 15. September 2010, 11:54 »
Servus,

da ich jetzt meine eigene printf()-Funktion - so wie es in Teil 4 des Wikis verlangt wird - geschrieben habe, und diese auch einwandfrei funktioniert, möchte ich jetzt einen Schritt weiter gehen, und eine Eingabefunktion schreiben.
Leider habe ich absolut keine Ahnung, wie ich das anstellen soll. Beim Thema Schnittstellenprogrammierung habe ich NULL Erfahrung.
Ich habe mir auch schon die Tyndur Source angeschaut, aber Headerdateien wie z.B 'stdio.h' kann ich da in den include-Verzeichnissen garnicht finden und das ganze ist dann noch dazu 100x zu komplex für mich.
Im Wiki selbst habe ich zu diesem Thema - soweit ich gesehen habe - nichts gesehen.

Könnt ihr mir sagen, wo und wie ich da anfangen soll, bzw. wo steht das?
mfg rungaaz
« Letzte Änderung: 15. September 2010, 12:03 von hrungaaz »

Programm Noob

  • Gast
Gespeichert
« Antwort #1 am: 15. September 2010, 12:05 »
Du musst schon Interuppts verwalten können.
Stichworte dazu:PIC, IDT

Dann musst du einen Keyboardtreibee achreiben.
Stichwort: KBC

Du kannst dir gerne die keyboard.c von NandOS ansehen, die sollte recht verständlich sein.

Programm Noob

hrungaaz

  • Beiträge: 33
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 15. September 2010, 12:07 »
Danke, ich werd mir das nötige mal durchlesen.
Warum ich im Anfall geistiger Umnachtung nicht auf folgenden Artikel gestoßen bin weiß ich leider nicht: http://www.lowlevel.eu/wiki/KBC

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #3 am: 15. September 2010, 12:07 »
Damit du etwas eingeben kannst brauchst du eine Verbindung zum einem Eingabegerät, sprich, du brauchst einen Treiber dafür.

Da du höchstwahrscheinlich über die Tastatur etwas eingeben willst installierst du einen IRQ-Handler für den Keyboard-Interrupt. In diesem Handler dann behandelst du einkommende Daten über die Ports und leitest diese entsprechend weiter.

Der Rest ist Hausaufgabe, ans Herz gelegt seien dir außerdem dieser Artikel.
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

hrungaaz

  • Beiträge: 33
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 15. September 2010, 12:10 »
Vielen Dank, ich werd mir mal alles reindrücken.

 

Einloggen