2010-11-21 2 views
1

Привет всем, я пытаюсь включить A/V Reciever с помощью команды RS232 с помощью comm32 VB6. Для того, чтобы включить его на нем говорит использовать:RS232c VB6 help

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

И это мой VB6 код, который я в настоящее время использую то не похоже на работу ...

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 

ресивер не включается. Что я могу делать неправильно? Я проверил, чтобы COM-порт был 2, и это так.

David

+0

Какую модель аудио/видео ресивера вы используете? Можем ли мы взглянуть на спецификацию? – 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 или что-то еще? Кроме того, вы отключили управление потоком, да? Как и другие, предложите сначала эту работу в Hyperterminal. – Brad

ответ

3

Вы просто посылать символы <CR>, а не возврат каретки (реальная ASCII код 13). Документация для последовательной периферии часто помещает имена контрольных символов в скобки (см. Википедию для a list of them). Вам нужна линия:

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

Кроме того, кажется, что код, который следует читать данные из последовательного порта должен быть изменен, так как, если данные не поступили в буфере последовательного порта пока он не будет читать ничего. Посмотрите на Microsoft's example, как это сделать. Вы могли бы прекратить чтение после того, как определенная подстрока на входе была найдена, после того, как было прочитано определенное количество байтов (Len function), и т. Д.

+0

Эй, спасибо за ответ idealmachine, но это, похоже, не включит его: o ( – StealthRT

+0

Я пробовал этот код на веб-сайте MS, но все еще не повезло: o ( – StealthRT

+0

Я также просто разместил ссылку выше в PDF команды .. Может быть, я просто делаю это неправильно? – StealthRT