Paralelport ansteuern?
-
Hallo,
wie kann man am einfachsten den Paralelport ansteuern, um z.B. eine Leuchdiode
blinken zu lassen.
-
in der dos konsolen faq
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39312.html
und wenn das nicht das gesuchte, gibt es in der winapi faq auch einen ansatz.
-
...
-
-
#include "stdafx.h" #include <windows.h> #include <stdio.h> void main (void) { HANDLE hCom = CreateFile( "lpt1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, NULL); int i = 0; char lpByte [12]; for(int i2 = 0; i2 < 12; i2++){ lpByte[i] = 1; } BOOL len = 1 ; while (i<20000){ DWORD dwBytesRecive ; WriteFile(hCom, lpByte, len, &dwBytesRecive, NULL); printf("%d",dwBytesRecive); printf("\n%d", i); i++; } CloseHandle(hCom); }
Was mache ich falsch?
-
Keine Ahnung... was für einen Fehler bekommst Du denn???
Warum überprüfst Du keine Rückgabewerte der Funktionen? Was geben diese zurück? Was sagt GetLastError?
-
Code:
#include "stdafx.h" #include <windows.h> #include <conio.h> void wait(); void main (void) { HANDLE hCom = CreateFile( "lpt1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, NULL); char lpByte [12]; for(int i = 0; i < 12; i++){ lpByte[i] = 1; } int len = 1 ; DWORD dwBytesRecive ; int t = WriteFile(hCom, lpByte, len, &dwBytesRecive, NULL); printf("%d",dwBytesRecive); printf("\nRueckgabewert %d\n", t); CloseHandle(hCom); wait(); } void wait() { FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE)); getch(); }
Ausgabe:
1
Rueckgabewert 1
-
Keiner ne Idee? Ich will doch nur zwischen Pin 2-8 und GND ne LED blinken lassen.
-
Ich meinte den Rückgabewert von "CreateFile" und "WriteFile"... und nötigenfalls nich "GetLastError".
-
Also GetLastError() liefert vor und nach dem WriteFile 0.
-
OK, ich habe mir den COM-Port auch mal angeguckt. Ich nehme wohl eher den und nen'
Microcontroler.