求VBS JAVA 等简单易懂的操作串口(com口)的代码,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求VBS JAVA 等简单易懂的操作串口(com口)的代码,相关的知识,希望对你有一定的参考价值。

需要对串口(com口)发送一段数据,要可以循环发送,并且能控制循环次数,然后延时N秒,再发另一段代码,如有高手可以提供,非常感谢。 采纳后,再翻倍加分。可以直接发我信箱,beastxu@163.com
已经把mscomm32的控件注册成功了,现在要发送一段十六进制的数据,FF 01 00 00 00 00 01
我以如下格式填写,
Comm.Output = &HFF &H01 &H00 &H00 &H00 &H00 &H01
感觉好像不对,测试之后确实是在这一行报错,
请告诉我这行的格式应该怎么填呢?
*:楼下的,很感谢你,不过,这段代码是不是应该在VB里运行?我录入为VBS里的代码,执行的时候,
在这一行提示错误(Dim buffer(6) as Byte),怎么办呢?
能不能麻烦你帮我转成VBS里能执行的代码?我实在是不懂VB,只是知道一点点的VBS。
按您的方法,我现在的代码如下,肯定有不对的地方,请帮我检查改正,
Dim strBuf
Dim stt,stemp
Dim bufff()
set Comm=CreateObject("MSCOMMLIB.MSCOMM") '创建串口对象
Comm.CommPort = 1 '设置COM1
Comm.Handshaking = 0 '无握手
Comm.RTSEnable = False '禁用RTS功能
Comm.Settings = "2400,n,8,1"
Comm.PortOpen = True
Dim buffer(6) as Byte
buffer(0) = 255
buffer(1) = 1
buffer(2) = 0
buffer(3) = 4
buffer(4) = 63
buffer(5) = 0
buffer(6) = 68
Comm.Output = buffer
Comm.PortOpen = False

Comm.Output=字符串或byte
如果是可见字符,则可以直接输出字符串,如Comm.Output="hello"
不然得用byte(数组),如

Comm.CommPort = 3 '...使用Com3口
Comm.Settings = "57600,n,8,1" '对串口通讯的相关参数。包括串口通讯的比特率,奇偶校验,数据位长度、停止位等。其默认值 是“9600,N,8,1”,表示串口比特率是9600bit/s,不作奇偶校验,8位数据位,1个停止位。
Comm.OutBufferSize = 1024

If Comm.PortOpen = False Then
Comm.PortOpen = True '...打开串口
End If

Comm.OutBufferCount = 0 '...清空输出寄存器

Dim buffer(6) as Byte
buffer(0) = 255
buffer(1) = 1
buffer(2) = 0
buffer(3) = 0
buffer(4) = 0
buffer(5) = 0
buffer(6) = 1

Comm.Output = buffer

Comm.PortOpen = False

上面确实是VB的代码。
在VBS中,没有类型,所以声明数组与初始化可能为:
Dim buffer(6)
buffer(0) = CByte(255)
...

我没试过,不一定正确哟。
参考技术A 太阳雨多年积攒极其珍贵的原创VB串口通信技术资料V4.0 (600M)

VB串口通信编程源码200个,多种行业多种应用...
VB串口通信技术文章160篇,详尽地对VB串口通信的诠释...
VB串口通信电子书籍16部,工业通信名家著作,经典细致...
VB串口通信控件16个,简化串口通信编码,提高开发效率...
VB串口视频教程44个,一套完整视频教程,讲解直观,更快掌握...

超级赠品一:OSI网络模型教程48M
超级赠品二:串口硬件层知识大全资料包24M
超级赠品三:串口调试工具80个,应用于各种串口调试与校验计算...
超级赠品四:程序员发展类文章和书籍12部,帮助您的成长,健康和发展....
超级赠品五:更送虚拟串口调试软件, 帮助你在没有串口的电脑上也能正常调试...

你在淘宝搜索“太阳雨VB串口资料”就可以找到,希望可以帮助到你。
同时,还有"太阳雨VC串口资料"和"太阳雨DELPHI"串口资料...
参考技术B 给你来段J2ME的代码:(J2ME中用的是CommConnnection实现的)
commConnection = (CommConnection) Connector.open(
"comm:" + "com0" /*services[selectedPort]*/, Connector.READ_WRITE, true);
commConnection.setBaudRate(115200);
os = commConnection.openOutputStream();
os.write(byte[]);

vbs操作excel宏求帮助!

我不懂vbs求大神帮忙写一个vbs代码,功能是操作excel宏,这个宏的主要代码是
Sub Macro1()
'
' Macro1 Macro
'
'
Rows("1:19").Select
Selection.Copy
Range("A21").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Rows("1:20").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub
我想在不打开excel的情况是执行这个代码而且要excel中的内容有变化这个可以么?就是想要一个可执行文件,一点击这个文件excel中的内容就按照上边的宏变化!不打开excel

哥们,这个我有一个间接地方法可以实现,就看你能不能听懂了。
1.你拿到的代码肯定是咋microsoft visual basic下的模块1上看到的,那么你双击这个界面的sheet1,看右边的代码窗口,有个“通用”的下拉框,选择“worksheet”,在“声明”下拉框选择“Worksheet_SelectionChange”,然后会生成一段代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
你在第一行和第三行之间复制你的代码,但是你的代码的第6行到倒数第二行,那么就得到了这个:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Rows("1:19").Select
Selection.Copy
Range("A21").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Rows("1:20").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub
保持该excel,原来的代码无所谓,删不删都没事。
然后新建一个text文件,写入:
Set oexcel=CreateObject("excel.application")
oexcel.Visible=false
Set workbook=oexcel.Workbooks.Open ("c:\1.xlsm") '这是那个excel文件的绝对路径,最好保持为xlsm格式,带宏的嘛
workbook.Worksheets(1).cells(1,1).select
set workbook=nothing
oexcel.quit
set oexcel=nothing
保持该text文件,修改后缀为vbs,双击.
注意,该代码只对第一个sheet叶有效果。
参考技术A 可以再后台打开,执行完毕后 自动保存关闭!追问

怎么在后台打开呢?不清楚啊!您能具体说下么?

以上是关于求VBS JAVA 等简单易懂的操作串口(com口)的代码,的主要内容,如果未能解决你的问题,请参考以下文章

c#中如何进行com口操作?

linux下怎样对串口编程

[转]串口COM口UART口, TTLRS-232RS-485区别详解

图解快速区别——串口COM口UARTTTLRS-232RS-485

vbs操作excel宏求帮助!

用电脑串口如何跟485口通信?