2010-11-21 10 views
1

안녕하세요, VB6 comm32를 사용하여 RS232 명령으로 A/V Reciever를 켜려고합니다.RS232c VB6 help

Command code Parameter code CR Code set example 
PW   ON    <CR> PWON<CR> 

을 그리고 이것은 리시버가 켜지 결코

MSComm.CommPort = 2 
MSComm.Settings = "9600,n,8,1" 
MSComm.PortOpen = True 

If Not MSComm.PortOpen Then 
    MsgBox "not opened" 
Else 
    MSComm.Output = "PWON" & Chr(13) 

    Do While MSComm.InBufferCount > 0 
     Text1.Text = Text1.Text & MSComm.Input 
    Loop 
End If 

내가 현재 제대로 작동 나던을 사용하고 내 VB6 코드입니다 ... : 그것에을 켜려면 사용했다. 나는 무엇을 잘못하고있을 수 있습니까? com 포트가 2인지 확인했습니다.

다윗은

+0

어떤 종류의 A/V 수신기를 사용하고 있습니까? 사양을 살펴볼 수 있습니까? – PleaseStand

+0

A/V는 Marantz sr7005입니다. 내가 사용하고있는 PDF는 다음과 같습니다. http://www.filefactory.com/file/b45ce8b/n/Marantz_New_RS232C_Command_List-Receiver_All.pdf – StealthRT

+0

출력 버퍼에 있습니까? 나는 체크 할 자산의 정확한 이름을 기억하지 못한다 ... outputbuffercount 또는 무엇인가? 또한 흐름 제어 기능을 해제 했습니까? 다른 사람들이 제안했듯이, 먼저 하이퍼 터미널에서이 작업을 수행하십시오. – Brad

답변

3

당신은 문자를 보내는 <CR> 오히려 실제 캐리지 리턴 (ASCII 코드 13)보다. 직렬 주변 장치에 대한 문서는 대개 제어 문자의 이름을 대괄호로 묶습니다 (위키 백과 a list of them 참조). 그것은 아무것도 읽을 것, 또한 데이터가 아직 시리얼 포트의 버퍼에 도착하지 않은 때문에 경우 시리얼 포트에서 데이터를 읽을 다음 코드를 변경해야한다는 것

MSComm.Output = "PWON" & Chr(13) 

: 당신은 라인이 필요합니다. 방법은 Microsoft's example을 참조하십시오. 입력의 특정 부분 문자열이 발견되면 (예 : Len 함수)

+0

회신 idealmachine 주셔서 고마워요, 어느 쪽이든 그것을 켜지 않는 것 같습니다 : O ( – StealthRT

+0

나는 MS의 웹 사이트에서 그 코드를 시도했지만 여전히 운이 없음 : o ( – StealthRT

+0

나는 또한 위의 링크를 명령. 아마도 어쩌면 내가 잘못하고있어? – StealthRT