LPT 도 통신 포트처럼 "LPT1" 을 createFile 인자로 해서 사용 할수 있습니다.
단 저두 해보진 않았구요~~ 근데 할수는 있답니다.
전 반 땜쟁이라서 .. ㅋㅋ 맨날 제어만 하는군요~~
맨땅에 해딩 해보시기를 ...
김상구.패패루 님이 쓰신 글 :
: 요즘 PC튜닝 사이트에서 LCD인디케이터들을 많이 팔죠..
: 대부분 시리얼컨트롤러를 붙여서 제어하는데요.. 이 방법은 별도의 컨트롤러를 만들거나 구입해야 하는 문제가 있어서 패러럴 포트를 이용한 직접 제어 방식도 많이 사용되고 있습니다.
:
: 출처: 파코즈 하드웨어
:
http://parkoz.pe.kr/zboard/view.php?id=mainreview&page=1&category=&sn=off&ss=on&sc=off&keyword=&select_arrange=headnum&desc=asc&no=46
: 여기 접속해 보시면 패러럴 포트에 직접 LCD 인디케이터를 붙이는 방법이 있죠.
:
: 재밌는건, 패러럴이나 시리얼이나 별도의 전원공급라인을 끌어와야 하기 때문에 USB포트나 PS/2포트에서 전원만 끌어오게 만든다는거죠..
: 근데 여길 보시면 Serial-USB 컨버터를 이용해서 USB로 직접 데이터까지 전송하게 만든 것도 있습니다.
:
: 출처: 파코즈 하드웨어
:
http://parkoz.pe.kr/zboard/view.php?id=mainreview&page=1&category=&sn=off&ss=on&sc=off&keyword=&select_arrange=headnum&desc=asc&no=81
:
: 이걸 보다보니 궁금증이 생기더군요. 패러럴-USB 컨버터도 판매되고 있는데 그걸 쓰면 별도의 컨트롤러 없이 LCD 인디케이터와 USB를 연결할 수 있지 않을까?
: 그래서 질문을 올렸더니만 LCD 컨트롤 프로그램들이 LPT1 이런 식으로 물리적 포트만을 제어할 수 있다는 답변이 올라왔더군요.
:
: 제 생각에는
:
: HANDLE hFile = ::CreateFile("COM1",
: GENERIC_READ|GENERIC_WRITE,
: 0,
: NULL,
: OPEN_EXISTING,
: FILE_ATTRIBUTE_NORMAL,
: 0);
:
: 이런식으로 COM포트를 열어서 WriteFile/ReadFile로 데이터를 주고받는 것 처럼 가상으로 생긴 프린터포트를 똑같이 열어서 통신하면 얼마든지 구현할 수 있지 않을까.. 하는 생각이 들었습니다.
:
: 사실 전 하드웨어에 대해서는 몇년전에 시리얼제어를 해 봤던거 빼고는 일자무식이거든요. 그때는 그나마 이렇게 직접 오픈하는 방식을 쓴게 아니고 컴포넌트를 구해다가 뚝딱뚝딱 만든거라서요..
:
: 한번 네트워크 프린터에 대해 테스트 해 볼까 하고..
:
:
: HANDLE hFile = ::CreateFile("IP_203.236.238.28",
: GENERIC_READ|GENERIC_WRITE,
: 0,
: NULL,
: OPEN_EXISTING,
: FILE_ATTRIBUTE_NORMAL,
: 0);
:
: 이렇게 해서 WriteFile로 텍스트 정보를 전송해 봤는데.. 핸들은 얻어지지만 실제 전송은 안되더군요.. (실수였슴다.. ㅠ ㅠ.. 핸들이 아예 안얻어지는거였군요. if (hFile)이렇게 검사해서 이런 실수를.. 쩝.. if (hFile != INVALID_HANDLE_VALUE) 이렇게 해야하는데..)
:
: 아무튼 이런 아이디어로 LCD 인디케이터를 제어하게 만들 수 있을까요?
: 만약 가능하다는 판단이 서면 당장 용산가서 20x2짜리 LCD랑 USB-패러럴 컨버터 하나 사 와서 시도해 볼까 하는데요..
: 뭐, LCD제어에 좀 익숙해 진다면 그래픽 LCD 달아서 Windows의 TrueType을 랜더링해서 한글로 디스플레이 되는 LCD패널 컨트롤 소프트웨어를 하나 만드는 것도 재밌을 것 같구요.
:
: 혹시 좋은 정보 가지고 계시거나 경험 있으신 분들 제게도 좀 나눠주시면 고맙겠습니다. ^^
:
:
: PS. 아참.. "\\\\?\\IP_203.236.238.28" 이렇게 해도 마찬가지더라구요.. ㅠ ㅠ
: