2011-10-06 3 views
3

Windows7 컴퓨터에서 일부 비트를 작성하기 위해 병렬 포트에 액세스하는 방법을 찾으려고합니다. PCI-Card에있는이 병렬 포트는 Windows 7에서 자동으로 설치되며 LPT2로 모니터링 할 수 있습니다. 항구에 배정 된 주소는 E800-E807 및 E480-E487 입니다. 이것은 비 pyhsical 주소처럼 내게 보인다. 나는 이미 http://www.logix4u.net/inpout32.htm에서 inpout32.dll을 사용하거나 Java 솔루션으로 parport.dll을 사용하는 것과 같이 포트에 작성하는 다른 방법을 시도했다. 이러한 포트를 해제하려면 Userport를 설치했는데이 응용 프로그램을 사용하면 실제 물리적 포트를 해제 할 수 있다고 생각합니다. 그래서 포트 주소를 어떻게 변경합니까? 예 : 378, 또는 inpout32.dll로 가상 주소에 내 응용 프로그램을 작성 하시겠습니까?Windows 7의 병렬 포트에 쓰기

나는 이미 BIOS에서 378- 주소를 비활성화하는 것과 같은 몇 가지 google-found-advices를 시도 했으므로 PCI 카드가 사용하는 beeing에 '무료'입니다. 또는 assingement 사이의 전환을 LPT1, LPT2, LPT3하지만 아무것도 작동하는 것 같습니다.

EDIT : 누군가이 PCI 카드의 특정 드라이버를 알고 있으므로 기본 PCI 카드를 사용할 필요가 없습니까? 그것은 : http://www.delock.de/produkte/gruppen/IO+Karten/1x_Parallel_UND_2x_Seriell_-_PCI_Karte_89004.html

+0

32 비트 또는 64 비트 Win 7을 사용하고 있습니까? – user957902

+0

64 비트 승리 7. AMD Athlon II X3 455 프로세서 3.30GHz. –

+1

64 비트 OS가 문제라고 생각합니다. 사용중인 dll 드라이버는 32 비트이며 실제 하드웨어가 아닌 wow64 레이어와 통신하고 있습니다. 나는 64 비트 주소 공간이 다르다고 생각한다. – user957902

답변

0

E800-E807과 E480-E487은 16 비트 I/O 주소입니다. 따라서 WinIO과 같은 툴킷을 사용하여 읽고 쓸 수 있습니다. PCI 장치이기 때문에 부팅시 I/O 주소가 동적으로 할당되며 언제든지 변경 될 수 있습니다. 잘 작성된 프로그램은 카드의 I/O 주소가 무엇인지 Windows에 물어보고 하드 코딩하지 않고이를 사용합니다.