Войти

Показать полную графическую версию : Excel и серийный порт


Guest
10-09-2004, 10:46
Кто может помочь?
Нужен небольшой скриптик для передачи команды на серийный порт (Com1) в виде набора символов " sta,s,4 " (без кавычек)...
использую библиотеку *RSAPI.DLL

накатал, но не работает

Declare Function OPENCOM Lib "RSAPI.DLL" (ByVal Parameter$) As Integer
Declare Function CLOSECOM Lib "RSAPI.DLL" () As Integer
Declare Function READSTRING Lib "RSAPI.DLL" (ByVal Rein$) As Integer
Declare Function STRLENGTH Lib "RSAPI.DLL" (ByVal l%) As Integer
Declare Sub STRREAD Lib "RSAPI.DLL" (ByVal Anzeige$)
Declare Function TIMEOUT Lib "RSAPI.DLL" (ByVal ms%) As Integer
Declare Function SENDSTRING Lib "RSAPI.DLL" (ByVal S As String) As Integer

Private Sub Send()
OPENCOM ("COM1:9800,N,8,1")
SENDSTRING "STA,S,4" + Chr$(13)
CLOSECOM
End Sub

Пожалуйста ответы попроще ...я в VBA пока ещё чайник

hasherfrog
10-09-2004, 15:55
Вопрос действительно оказался сложным :(
Работа через rs232 описывается в 2-х видах: через dll и через ocx. MSDN делает упор на MSCommPort. То что Вы приводите - скорее хак, чем "нормальное" программирование.
Просмотрите следующие публикации:
http://www.yes-tele.com/mscomm.html
http://www.nickles.de/c/a/forum2-537623514.htm
http://www.cpcug.org/user/clemenzi/technical/Languages/SerialIO.htm

Кроме того, хотелось бы уточнить, Что именно "не работает". Кто ругается, ругается ли вообще, или вроде работает, но ничего не происходит...

Guest
13-09-2004, 13:34
Спасибо за ответ..
Вобщем всё заработало вот в этой строчке была ошибочка

OPENCOM ("COM1,9600,N,8,1")

то есть посылаю на прибор текстовые комманды , которые дублируют механическое нажатие кнопок
теперь нужно научится считывать показания прибора

считывание происходит по такому же принципу...посылаю комманду ...в качестве ответа посылаются данные ввиде чисел...Но пока безуспешно...




© OSzone.net 2001-2012