- LiFePO4 Speicher Test         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 25

Thema: Geräte über Druckerport steuern?? Wie???

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.05.2004
    Ort
    N Stück rechts von Hamburg
    Alter
    35
    Beiträge
    166
    Anzeige

    Praxistest und DIY Projekte
    Für Delphi gibts da ein paar kleine Probleme: eine direkte I/O-Procedure gibt es nicht und das Sicherheitskonzept von Win NT (XP, 2000) verbietet Anwendungen den Zugriff auf die Schnittstellen, das dürfen nur Treiber. Die Lösung: eine DLL. auf http://batronix.com/elektronik/know-...mmierung.shtml gibts ausführliche Erklärungen und nen Link dazu.
    Der Parallelport hat 8 Datenausgänge, 4 Steuerungsausgänge und 5 Statuseingänge, d.h. insgesamt 12 bit out und 5 bit in. Wichtig ist, das Bios auf "Output only" zu stellen. Die 8 Datenleitungen können auch als Eingänge benutzt werden, dazu einfach auf "Bidirectional" bzw "Normal" stellen. ECP und EPP sind für den Anfang eher ungeeignet.

    -----------------------------------------------------------------------------------
    ACHTUNG!
    Unbedingt ein Treiber-IC zwischen den Parport und deine Schaltung packen! Die TTL-Ausgänge des PCs verkraften nur sehr geringe Ströme, daher nie zu hoch belasten oder gar kurzschließen! Außerdem ist ein Potenzialausgleich der beiden Massen nötig, Batteriebetrieb ist da wohl sicherer. Als Eingang verwendete Leitungen liegen standardmäßig auf "high" und müssen nur ggf. mit GND verbunden werden, sie sollten nicht mit Fremdspannungen in Berührung kommen.

    mfG

    cht

    PS: Wenn du nen Beispielcode für die DLL haben willst, sag Bescheid! Ich hab hier noch son selbstgemachtes I/O-Prog rumliegen.

  2. #12
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.02.2004
    Beiträge
    569
    der beispielcode waere sicher interessant. mal sehen wie viel komplizirter es als unter dos ist
    Haftungsausschluß:
    Bei obigem Beitrag handelt es sich um meine private Meinung.
    Rechtsansprüche dürfen daraus nicht abgeleitet werden.
    Besonders VDE und die geltenden Gesetze beachten sowie einen gesunden Menschenverstand walten lassen!

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.05.2004
    Ort
    N Stück rechts von Hamburg
    Alter
    35
    Beiträge
    166
    Okay jetzt kommts (Ich hoffe ihr habt Delphi).
    Sry dass ich so lange gebraucht habe, aber ich hatte noch mehr zu tun (bedankt euch bei meinem Geschichtslehrer...), und Code einrücken und Auskommentieren braucht auch seine Zeit.
    Angehängte Dateien Angehängte Dateien

  4. #14
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Cooles Prog nett gemacht, läuft wunderbar, danke.
    Hab noch ne frage, kann man die Ausgänge/Eingänge siehe:

    http://www.dotnet-magazin.de/itr/onl...nodeid,31.html

    auch als eingänge benutzen??? was muss man umstellen??

    @cht hast du auch ein Programm für die Serielle SChnittstelle parat(für Delphi)?? geht das überhaupt??

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.05.2004
    Ort
    N Stück rechts von Hamburg
    Alter
    35
    Beiträge
    166
    Die Ausgänge kann man ganz einfach als Eingänge benutzen indem man ganz dreist von ihrer Adresse liest: Inp32($37. Man sollte den Parport vorher im Bios auf Bidirectional stellen. Die serielle Schnittstelle funktioniert ja von der Datenübertragung her grundlegend anders, aber es geht auch. Wenn du nur ein paar Leitungen auf H oder L setzen willst, ist es ähnlich wie bei der parallelen (mehr dazu bei google...),wenn du richtig daten schicken willst, verhält sich der com-port unter windows lustigerweise wie eine Datei (!), das ist im Windows-SDK (bei Delphi prof und enterprise mitgeliefert) beschrieben. Ich arbeite noch an so einem Prog, ich will damit das USART meines mega16 mit dem PC verbinden. Mal sehn...
    mfG

    cht

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.05.2004
    Ort
    N Stück rechts von Hamburg
    Alter
    35
    Beiträge
    166
    ich vergaß: keine Fremdspannungen an Eingänge anlegen! open=1, GND=0, d.h. für 1 einfach gar nicht verbinden. Alles andere mögen Druckerports nicht besonders, und neue Mainboards sind teuer...

  7. #17
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.06.2004
    Ort
    Bensheim / Hessen
    Alter
    35
    Beiträge
    153
    Hat jemand auch ein Programm für Linux?
    Victor Negoescu

  8. #18
    nur als root ausführbar.
    setzt alle pins für 4 sekunden auf high.

    Code:
    #include <stdio.h>
    #include <unistd.h>
    #include <sys/ioctl.h>
    #include <asm/io.h>
    
    int main (int argc, char** argv) {
     if (ioperm(0x378,1,1)) {
         printf("kann port nicht oeffnen");
         return -1;
     }
      outb(255,0x378);
      sleep(4);
      outb(0,0x378);
      return 0;
    }

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Also bis jetzt war das mit der Fremdspannung kein Problem, hab nen infrarotempfänger mit Digitalem Ausgang dran angeschlossen. Das mit dem Nix anschließen oder null setzen ist nicht Einfach, da bräuchte man dann ja ein RElais oder so, um wirklich garncihts anzuschließen.

  10. #20
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.05.2004
    Ort
    N Stück rechts von Hamburg
    Alter
    35
    Beiträge
    166
    Ne NPN Transe tuts auch. Emitter an GND, Kollektor an Druckerport, Basis über Widerstand an den (invertierten) Datenpegel.
    Tadaaaa!

    mfG
    cht

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen