Mscomm32.ocx를 사용하여 직렬 포트로 보내기
이 문서에서는 Mscomm32.ocx 컨트롤을 사용하여 직렬 포트에 정보를 보내는 방법을 소개합니다.
원래 제품 버전: Visual FoxPro
원본 KB 번호: 139526
요약
이 문서에서는 Mscomm32.ocx를 사용하여 직렬 포트로 데이터를 보내는 데 필요한 설정을 설명합니다. Mscomm32.ocx는 Microsoft Visual FoxPro Professional Edition과 함께 제공됩니다. Microsoft Windows 95 이상 버전의 Windows를 실행하는 컴퓨터에서 사용할 수 있습니다.
추가 정보
mscomm 컨트롤을 사용하여 직렬 포트로 데이터를 보내는 데 가장 자주 사용되는 속성은 다음과 같습니다.
CommPort
속성은 CommPort
통신 포트 번호를 지정합니다. Comm 포트에 해당하는 숫자 속성입니다. 기본적으로 이 속성은 com1에 해당하는 1로 설정됩니다. 유효한 값은 컴퓨터 및 해당 구성에 설치된 직렬 포트에 따라 1, 2, 3 또는 4입니다.
Settings
속성은 Settings
직렬 포트에 대한 전송 속도, 패리티, 데이터 비트 및 중지 비트를 구성합니다. Settings 속성은 개별 쉼표로 구분된 값을 포함하는 문자열입니다. 기본적으로 Settings 속성은 다음과 같습니다. 9600,N,8,1 이 속성은 9600 baud, 패리티 없음, 8개의 데이터 비트 및 1개의 중지 비트에 해당합니다.
다음과 같은 전송 속도 값이 유효합니다. 110, 300, 600, 1200, 2400, 4800, 9600(기본값), 14400, 19200, 28800, 38400, 56000, 57600, 115200, 128000, 256000.
PortOpen
속성은 PortOpen
직렬 포트가 열려 있고 활성 상태인지 여부를 제어하는 논리 값을 지정합니다. 이전 속성이 직렬 포트 사용을 시작하도록 설정되면 이 속성을 true로 설정할 수 있습니다.
출력
Output 속성에는 직렬 포트로 보낼 문자 문자열이 할당됩니다. 이전 속성이 설정된 후 문자열 "헬로 월드"을 직렬 포트에 출력하려면 다음 명령을 사용합니다.
myform.mycomm.output = "Hello World"
애플리케이션에 따라 필요할 수도 있는 다른 속성은 다음과 같습니다.
CommEvent
속성은 CommEvent
가장 최근의 통신 이벤트 또는 오류를 나타내는 값을 포함합니다.
Sthreshold
속성은 Sthreshold
전송되는 출력 버퍼의 최소 문자 수를 지정합니다.
OutBufferCount
OutBufferCount 컨트롤은 전송 버퍼에서 대기 중인 문자 수를 반환합니다. 속성이 0이면 Sthreshold
항상 0이어야 합니다. OutBufferCount
속성을 0으로 설정하면 전송 버퍼가 지워지게 됩니다.
OutBufferSize
속성은 OutBufferSize
전송 버퍼의 크기를 지정합니다. 기본적으로 이 버퍼는 512바이트입니다. 전송 버퍼가 클수록 다른 애플리케이션에서 사용할 수 있는 메모리가 줄어듭니다. 느린 전송 속도와 직렬 포트에 기록된 큰 텍스트 문자열은 이 값을 더 크게 만들어야 한다는 의미일 수 있습니다.
다음은 표준 Hayes Modem 명령을 사용하여 통신 컨트롤을 설정하고 전화 번호 555-1234로 전화를 거는 방법을 보여 주는 샘플입니다.
PUBLIC ComForm
ComForm = CREATEOBJECT('Form')
ComForm.AddObject("Testcom","Olecontrol","MSCOMMLib.MSComm")
ComForm.Testcom.CommPort = 2 && Use Comm2, The second Serial Port.
ComForm.Testcom.Settings = "14400,N,8,1" && 14.4 Kbaud, No Parity,
&& 8 data Bits, 1 Stop Bit
ComForm.Testcom.PortOpen = .T.
ComForm.Testcom.Output = "ATDT555-1234" + chr(13) && Dialing the number
* The chr(13) is needed to complete the modem command sequence
ComForm.Testcom.PortOpen = .F.
***** End Code *****
참고
애플리케이션에서 이를 사용한 다음 Visual FoxPro 설치 마법사를 사용하여 애플리케이션을 배포하는 경우 애플리케이션을 실행할 때 다음 오류가 표시 될 수 있습니다.
프로그램 오류 OLE 오류 코드 0x80040112: 이 클래스에 대한 적절한 라이선스를 찾을 수 없습니다.