- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 4 von 4

Thema: lpt ansteuern mit c stürzt ab

  1. #1

    lpt ansteuern mit c stürzt ab

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ich kann den lpt erfolgreich mit meinem windows 2000 und meine 2. windows xp maschine ansteuern. Bei meiner 1. windows xp maschine bricht das programm immer ab.
    (prog.exe hat ein problem festgestell und mus deshalb beendet werden)
    so in dieser art. Ich habe nichts am lpt angeschlossen. Wisst ihr vielieicht was das problem sein kann. Ich hab mal früher den LPT_Driver.sys draufgeladen und wieder gelöscht. könnte sein das etwas noch in der regedit geblieben ist. Könnt ihr mir da helfen

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522
    Hallo Redlight,

    poste mal den Quellcode von Deinem Programm bzw. der LPT-Ansteuerung.
    Kann es vliellcht sein, dass die LPT-Adresse bei Deiner "1. windows xp machine" nicht die gleiche ist und Dein Programm versucht, etwas auszulesen, was es nicht gibt?

    MfG Mark

  3. #3
    Erlich gesagt habe ich den Code nicht selber geschrieben. Habe ihn ihm internet gefunden. Er läuft aber bei den anderen maschinen. Die pins hab ich auch ausgemessen.

    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <windows.h>
    
    
         typedef short _stdcall (*inpfuncPtr)(short portaddr);
         typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);
    
    int main(void)
    {
         HINSTANCE hLib;
         inpfuncPtr inp32;
         oupfuncPtr oup32;
    
         short x;
         int i;
    
         hLib = LoadLibrary("inpout32.dll");
    
         if (hLib == NULL) {
              printf("LoadLibrary Failed.\n");
              return -1;
         }
    
    
         inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
    
         if (inp32 == NULL) {
              printf("GetProcAddress for Inp32 Failed.\n");
              return -1;
         }
    
    
         oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");
    
         if (oup32 == NULL) {
              printf("GetProcAddress for Oup32 Failed.\n");
              return -1;
         }
    
    
    
         for (i=0x378; (i<0x380); i++) {
    
              x = (inp32)(i);
    
              printf("port read (%04X)= %04X\n",i,x);
         }
    
    
    
         i=0x378;
         x=0x77;
    
         (oup32)(i,x);
    
         printf("port write to 0x%X, datum=0x%2X\n" ,i ,x);
    
         x = (inp32)(i);
         printf("port read (%04X)= %04X\n",i,x);
    
    
         i=0x378;
         x=0xAA;
    
         (oup32)(i,x);
    
         printf("port write to 0x%X, datum=0x%2X\n" ,i ,x);
    
         x = (inp32)(i);
         printf("port read (%04X)= %04X\n",i,x);
    
    
    
    
         FreeLibrary(hLib);
         return 0;
    }

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    07.07.2004
    Ort
    um Berlin
    Beiträge
    346
    die inpout32.dll muß im system-directory vorhanden sein.

    Blackbird

Berechtigungen

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

Labornetzteil AliExpress