mfc rs232 예제

예가 다소 오래된 경우에도 마찬가지입니다. 최신 Windows 시스템을 사용하여 직렬 포트에 액세스하는 것은 여전히 동일합니다. OpenPort() 멤버 함수는 데이터 전송을 위한 통신 포트를 엽니다. 이 함수에 전달할 매개 변수는 포트 이름을 포함하는 문자열입니다. 예를 들어 COM1의 경우 “com1”, COM2등의 “com2″를 예로 들 수 있습니다. 함수가 성공하면 반환 값은 true이며 그렇지 않으면 false입니다. ZIP 형식에서 이 예제 (85K)에 사용된 Visual C++ 프로젝트를 검색하려면 “VISUAL C++ EXAMPLE”를 클릭하면 MSDN에서 좋은 예제를 사용할 수 있지만 이 특종은 중첩된 I/O를 사용하는 방법을 설명합니다. 각 문자 간에 500ms의 시간 시간 값, 당신은 SetCommunicationTimeouts (0,500,0,0,0)로 시간 시간 함수를 설정할 수 있습니다.) 함수가 성공하면 반환 값은 true 그렇지 않으면 false입니다. ADR2000에 명령을 보내려면 WriteFile 호출이 사용됩니다. 예를 들어, 다음 호출은 Re(읽기 이벤트 카운터) 명령을 ADR2000으로 보냅니다. 이것은 모든 것을 아주 잘 설명하는 좋은 예입니다 : DWORD BaudRate 그것은 외부 장치에서 지원하는 통신을위한 Baud 속도를 나타냅니다. 예를 들어 이 매개변수를 9600 또는 9600의 BaudRate에 대해 CBR_9600으로 지정할 수 있습니다.

PC에서 지원하는 사용 가능한 표준 보 드 요금은 CBR_110, CBR_300, CBR_600, CBR_1200, CBR_2400, CBR_4800, CBR_9600,CBR_14400, CBR_19200,CBR_38400,CBR_56000,CBR_57600,CBR_115200,CBR_128000,CBR_256000 기사의 간단한 샘플이 있습니다 상기 클래스를 사용하여, 예는 직렬 바코드 리더에서 바코드를 읽는 프로그램입니다. 일반적으로 바코드 판독기는 캐리지 리턴 및 라인 피드 문자로 끝나는 읽기 바코드를 전송합니다(구성할 수 있으며 특정 제조업체에 따라 다를 수 있음) 코드는 ASCII 문자열입니다. 설명된 프로토콜을 캡슐화하는 CSerialPort에서 파생된 클래스(CBarCodeReader)가 있으며 읽기 메서드는 문자열에서 직접 읽기 바코드(있는 경우)를 반환합니다. 말할 것이 많지 않고, 나머지는 코드에 있으며 간단합니다 (적어도 :-) ReadByte() 멤버 함수는 통신 포트에서 데이터 바이트를 읽습니다. 이 함수에 전달되는 매개 변수는 수신된 데이터 바이트를 저장할 변수의 주소입니다. 수신된 데이터가 배열로 이동된 루프에서 이 함수를 반복적으로 호출할 수 있습니다. 문자를 받을 때마다 배열의 인덱스를 증분하고 모든 데이터 바이트가 수신될 때까지 ReadByte()를 호출합니다. 당신은 정확히 알고있는 경우 는 아니오. 모든 문자가 수신되거나 시간 시간이 발생할 때까지 루프에서 ReadByte() 함수를 호출할 수 있습니다.