2010-07-05 7 views
4

저는 최신 Windows OS (XP 이상)에서 C++를 통해 인터페이스하고 싶은 USB 병렬 포트 장치가 있습니다.현대적인 하드웨어 및 OS에서 USB 어댑터를 통해 병렬 포트 제어

저는 약간의 연구를 해봤지만 이러한 USB 대 병렬 포트 장치 중 하나를 프로그래밍 할 때 정보가 약간 변덕 스럽습니다 (대부분의 정보는 날짜가 기입되어 있으며 병렬 포트가 내장되어 있다고 가정합니다). 마더 보드, 내 새로운 컴퓨터에없는 것). 한 가지 언급은 소프트웨어 변경없이 C++ 프로그램에서 병렬 포트로 USB와 인터페이스 할 수 없다고 말합니다.

내가 원하는 것은 최신 Windows OS를 실행하는 최신 컴퓨터의 USB 포트를 통해 병렬 포트에 8 비트를 읽거나 쓸 수 있다는 것입니다 (포트가 읽기 전용이거나 쓰기 전용 임).).

이 작업을 수행하는 빠르고 쉬운 방법이 있습니까? 일부 샘플 코드는 크게 감사하겠습니다.

또한이 USB 대 병렬 포트 중 몇 대를 내 컴퓨터와 인터페이스 할 수 있습니까? 일종의 레거시 주소 지정으로 인해 3 개로 제한 되었습니까? 아니면 USB와 CPU가 지원할 수있는만큼의 주소를 가질 수 있습니까? 좀 미리 작성된 테스트 프로그램과 함께 inpout23 사용하려고했습니다

... 좀 더 정보 :

코어 I7 860

편집과 윈도우 7의 x64를 실행, VC++ 2008 떨어져 근무. 그것은 정상적으로 컴파일되었고 병렬 포트에 읽고 쓰는 것을 주장했다. 필자는 USB 포트를 컴퓨터에 연결하고 그 포트를 케이블에 연결하여 25 개의 전선을 테스트 용 브레드 보드에 신속히 연결하기위한 종류의 플러그에 식별하고 벗겨 냈습니다. 출력 핀 중 어느 것도 프로그램이 말한 바대로 바뀌지 않았습니다 (대신 모두 높고 변경되지 않았습니다).

+0

나는 또한 이것에 흥미가있다. 나는 몇 년 전에 조사해 봤는데, 기본적으로 알아낼 수있는 것은 병렬 포트가있는 카드를 구입하는 것이다. 지금 노트북을 사용하고 있으며 ExpressCard 병렬 포트 카드는 PCI 병렬 포트 카드 가격의 10 배에 달하는 경향이 있습니다. : ( – AndrejaKo

+0

그래, 같은 생각이야.내 생각 : 병렬 포트 *는 프로그램하기 쉽고, USB는 오랫동안 스타일을 벗어나지 않을 것이며, Windows는 오랫동안 스타일을 벗어나지 않을 것이며, 병렬 포트에 대한 USB는 값 싸게 ($ 5 중국에서 무료 배송). 이러한 모든 것은 가전 제품 및 제어를위한 훌륭한 플랫폼 인 오랜 기간 동안 호환성을 유지할 저렴한 디지털 I/O와 동일합니다. – Faken

답변

0

이전에 USB 대 직렬 포트 어댑터로 작업 해본 결과 USB 대 병렬이 동일해야한다고 생각합니다. 당신은 어댑터와 함께 드라이버가 있어야합니다 - 이것은 당신을 위해 대부분의 작업을 수행하고 USB 인터페이스를 숨기고 전통적인 병렬 포트로 OS에 제공합니다. 예를 들어 어댑터를 USB 포트에 꽂으면 장치 관리자에 COM4로 표시됩니다. 네가 LPT1 또는 뭔가로 나타날 것 같아. 여기에서 표준 Windows API를 사용하여 이러한 포트에 액세스해야합니다. (MSDN의 Communications Resources 참조)

+0

나는 그 USB 포트를 직렬 포트로 사용하기도했다. 제대로 작동하는 것처럼 보이고 컴퓨터가 COM 포트로 인식했다. 이 직렬 포트에는 드라이버가 필요하지 않았지만 (Windows는 이미 가지고있었습니다) "IEEE 1284 컨트롤러"로 표시되었고 장치 속성 아래에 "프린터 포트"로 정의되었습니다. 필자는 "COM1"포트를 사용할 수있는 것처럼 "LPT1"포트로 병렬 포트를 연 코드를 찾을 수 없었습니다. 연구에서 보았던 모든 I/O는 일종의 레거시 16 비트 어드레싱 시스템으로 출력됩니다.이 시스템은 제게 적합하지 않습니다. – Faken

3

나는 이것을 과거에 해왔으며 좋은 소식과 나쁜 소식이 있습니다.

항상 좋은 소식은 전자 제품 제조업체가 매우 견고한 프로토콜을 설계 한 것에 찬사를 보낸다는 것입니다. USB 대 병렬 변환기는 모두 하드웨어 포트 에뮬레이션을 제공했습니다.

나쁜 소식은 '비트 뱅잉 (bitbanging)'인터페이스 모델에서 성능이 너무 끔찍하다는 것입니다. 느린 업데이트가 마음에 들지 않는다면 이는 전혀 문제가되지 않습니다. 저는 uControlers 프로그래밍에 사용했고 조만간 직렬 또는 USB 프로그래머의 가격이 저의 조급함으로 인해 극복되었습니다.

그냥 Windows API를 사용하여 LPT 또는 COM 포트를 읽고 쓸 수 있으며 천천히 작동합니다.

+0

미세 조정이란 무엇입니까? 또한, 내 컴퓨터는 LPT1 포트를 인식하지 못합니다. 대신 "IEEE 1284 컨트롤러"대신이 문제가 있습니까? – Faken