KAIST

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ KAIST ] in KIDS
글 쓴 이(By): concerto (#20)
날 짜 (Date): 2001년 8월  8일 수요일 오후 08시 35분 25초
제 목(Title): Re: [질문] NT 에서 병렬포트 제어


밑 부분에 진짜 하고 싶음말...

win98에서 outp로 제어가 안 된다고 책에서 본 것 같은데요. win95 아닌지...
win95 같은 경우는 꽁수로  되었는 데, win98부터는 VMM, VxD를 통해서 
hardware를 제어한다고 읽은 거 같에요. 
windows95,8쪽은 NT,W2K와 OS 구조가 틀림.
NT에서 병렬 포트 제어가 안 되는 게 아니라, 단순히 저런 inp, outp와 
같은 i/o direct funtion에 제공되지 않는 것입니다.
NT는 크게 user mode와 kernel mode로 나뉘는 데요. user mode
응용 프로그램이 돌아가는 mode이고, kernel mode는 user mode에서 hardware
access를 요구 하면, 이에 해당하는 동작을 수행하게 됩니다. 즉, 응용 
프로그램에서 hardware를 바로 access할 수 없는 것이지요. 일반적으로
다음과 같은 형식으로 응용 프로그램과 hardware가 interaction합니다.

  user <-> user application <-> device driver <-> hardware

즉, NT에서 hardware를 access할려면 device driver가 필요하게 됩니다.
user application에서는 이 device deriver를 잘 써서 hardware에 원하는
동작을 하게 되는 것이죠.

병렬 포트 드라이버는 NT DDK(MS 웹에서 다운 받으실 수 있음)에 sample
driver 예제에 있으니깐, 그거 참조 해서 원하는 기능을 할 수 있을 것입니다.
근데 compile할려면 Win32 SDK도 필요함.

지금까지 말씀드린 건 driver level에서 부터 말씀드린 거 구요. parallel 
port/serial port driver 같은 경우는 컴을 켜면 기본적으로 loading되기
때문에 드라이버부터 작업하실 필요는 없고, win32 SDK중 병렬 포트 제어를
위핸 API들이 다 제공될 것이기 때문에, 그 거 이용해서 하면 될 것임.
일반적인 윈도우 프로그램 책들 보면, 병렬 포트 제어하는 예제가 많이
나오므로 그 것 참조하는 게 가장 빠른 방법으로 생각.

=====================================
        윈도우 98일때는 _outp를 이용하면 간단하게 병렬 포트를 제어할 수

        있었는데요...

        NT에서는 안된다고 들었습니다.

        그런데 간단하게 4개의 비트만 ON/OFF 시키면 되는 작업을

        구태여 I/O Card를 달아서 쓸 필요는 없어 보이거든요

        NT에서 병렬 포트의 비트를 제어할 수 있는

        방법이 있는지 가르쳐 주시면 감사하겠습니다.

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.