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: 이 클래스에 대한 적절한 라이선스를 찾을 수 없습니다.