Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » War schon da, aber nicht ausreichend, PIN-ABfrage

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
25.11.2004, 01:40 Uhr
ronschulz



Ich habe alles durchsucht, aber für den LPT-Port ist mir nichts ins Auge gefallen, was mir helfen konnte. Ich möchte nur ein Signal von Aussen in den PC bekommen. Dachte dabei an die LPT-Schnittstelle. Betriebssystem ist Windows 2k und Programm ist Borland C++ Builder. Aber ich bekomme kein Signal ausgelesen. Weiss nicht genau wie das gehen soll. Habe folgendes versucht:


C++:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char i[1];
unsigned long bits_read=0;

HANDLE hCom=CreateFile("LPT1",GENERIC_READ,0,NULL, OPEN_EXISTING,0,NULL);

BOOL tmp=ReadFile(hCom,&i,1,&bits_read,NULL);

Form1->Edit1->Text=i;
}


Wird Compeliert, kommt aber nur Müll bei raus. =(

HILFE... Muss doch gehen... Irgendwie....


Bearbeitung von Windalf:

codetags eingefügt


Ron

Dieser Post wurde am 26.11.2004 um 00:20 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.11.2004, 01:42 Uhr
ronschulz



Am besten wäre es ja, eine Zahl zu bekommen, also ein Int mit 0 oder 1. Ach ja, ich versuche die ganze Zeit vom LPT-Port die Datenleitung D0 auf Masse zu legen und sich dann etwas ändert an der Ausgabe. Bleibt aber immer gleich.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.11.2004, 00:24 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


also i ist ja schon die adresse... davon abgesehen ist es schwachsinnig ein array zu definieren was ein zeichen gross ist...
probier mal nur

C++:
char i;




Bearbeitung:

ups sorry hab gerade mal in die msdn geschaut da steht ja pointer auf einen buffer...hmm dann würde ich spontan sagen ist doch richtig... hast du schon mal probiert nen ausgang zu setzen? geht wenigstens das? (hierzu müssest du noch GENERIC_WRITE setzen)
und teste mal bei CreateFile ob nicht vielleicht INVALID_HANDLE_VALUE rauskommt und die initialisierung schon fehl schlägt


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 26.11.2004 um 00:34 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
26.11.2004, 01:32 Uhr
ronschulz



Was muss man eingeben, damit man invalid_handle_value bekommt? Und write noch nicht getestet, vielleicht mache ich das mal gleich ebend. Sonst wäre es ja noch eine Lösung, die Druckereingänge zu nutzen. Also paper_out oder so. ABer wie? Muss doch direkt möglich sein.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
26.11.2004, 01:46 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


na du rufst doch

C++:
HANDLE hCom=CreateFile("LPT1",GENERIC_READ,0,NULL, OPEN_EXISTING,0,NULL);


auf...
wenn ich die doku gerade nicht falsch lese kannst du mittels


C++:
if(INVALID_HANDLE_VALUE!=hcom){
//hat geklappt in der schnittstelle rummüllen...
}else{
//hat nicht geklappt schnittstelle lässt sich nicht initialisieren...
}



btw... mit lpt hab ich nie rumgespielt... wenn der den nicht will kannst du ja auch erstmal COM1 versuchen ob der zumindest geht... das sollte eigentlich funzen...wenn ja weiterprobieren...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
26.11.2004, 02:50 Uhr
ronschulz



Auf Com ist das das Gleiche? Dachte, den muss man auch noch irgendwie initialisieren. Da geht bei mir so langsam garnichts mehr. Am schönsten wäre es, einen Code zu bekommen, der so geht. =(
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
26.11.2004, 02:57 Uhr
ronschulz




Code:

char i[1];
unsigned long bits_read=0;

HANDLE hCom=CreateFile("LPT1",GENERIC_READ|GENERIC_WRITE,0,NULL, OPEN_EXISTING,0,NULL);

if(INVALID_HANDLE_VALUE!=hCom)
    {//geht wohl}
    else{MessageDlg("LPT-Invalid Handle!",mtError,TMsgDlgButtons()<< mbOK, 0);
         };

BOOL tmp=ReadFile(hCom,&i,1,&bits_read,NULL);

Form1->Edit1->Text=i;




Dann erscheint die Fehlermeldung. Ist dann wirklich schon das Handel nicht in Ordnung? Ich geh kaputt.

Dieser Post wurde am 26.11.2004 um 02:58 Uhr von ronschulz editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
26.11.2004, 08:53 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


so ist es etwas schwachsinn, machs so:


C++:
char i[1];
unsigned long bits_read=0;

HANDLE hCom=CreateFile("LPT1",GENERIC_READ|GENERIC_WRITE,0,NULL, OPEN_EXISTING,0,NULL);

if(INVALID_HANDLE_VALUE!=hCom)
{
  // hier rein der code wenn das handle gültig ist!
  BOOL tmp=ReadFile(hCom,&i,1,&bits_read,NULL);
}
else
{
  MessageDlg("LPT-Invalid Handle!",mtError,TMsgDlgButtons()<< mbOK, 0);
};

Form1->Edit1->Text=i;


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
26.11.2004, 12:29 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Auf Com ist das das Gleiche? Dachte, den muss man auch noch irgendwie initialisieren. Da geht bei mir so langsam garnichts mehr. Am schönsten wäre es, einen Code zu bekommen, der so geht. =(


also das hier z.b. geht bei mir...
www.fun-soft.de/showtopic.php?threadid=3242
wenn das nicht bei dir funzt weiss ich auch nicht woran das noch liegen kann
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
29.11.2004, 01:41 Uhr
ronschulz



Hm, muss ich aber irgendwo einen Takt herzaubern, richtig?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: