VB6怎么用串口发送以下数据?

moss_liao 2007-07-30 04:37:29
01 03 20 00 00 03 0E 0B .. .....
01 03 20 00 00 03 0E 0B .. .....
01 03 20 00 00 03 0E 0B .. .....
01 03 20 00 00 03 0E 0B .. .....
01 06 20 00 00 00 82 0A .. ...‚.
01 06 20 00 00 20 83 D2 .. .. ƒÒ
01 06 20 00 00 01 43 CA .. ...CÊ
01 03 20 00 00 03 0E 0B .. .....
01 06 20 00 00 02 03 CB .. ....Ë

以上是我用serial monitor 监听得到的发送的数据。我在VB6中也要发送同上数据怎么做?
小弟第一次做串口通信,请大家指点一下,谢谢!

...全文
456 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xieming19831985 2009-02-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 z_80_1980 的回复:]
首先明确你是想用RTU还是用ASCII方式来发送!
用RTU方式
dim OutputByte(8) as byte
前6个字节是数据,包括从机地址、功能码、起始地址以及需要读取的寄存器数量,后两个字节是用CRC计算出来的校验码
把它们都放在OutputByte中,然后用
do while(.....)
doevents
loop
MSComm1.Output=OutputByte
结构发送
[/Quote]

同意
x13903460474 2009-01-04
  • 打赏
  • 举报
回复
恩,看不明白
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
不明LZ在说什么
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
有问题请先GOOGLE,BAIDU
误极必返 2007-08-25
  • 打赏
  • 举报
回复
这个只是十六进制和字符型的转换问题。
把十六进制直接显示就是右边的东西。再把十六进制数十六位的高八位和低八位转换成相应的字符再加一个空格就是左边的显示方法。
比如char i=0x31;
显示打印字符是1。如果用十六进制显示的话就是31
char temp=GetChar(i & 0xF0);
char temp1=GetChar(i & 0x0F);
GetChar由自己来写就行,就是一个switch case语句把相应的数值1转换成字符1。
z_80_1980 2007-08-05
  • 打赏
  • 举报
回复
首先明确你是想用RTU还是用ASCII方式来发送!
用RTU方式
dim OutputByte(8) as byte
前6个字节是数据,包括从机地址、功能码、起始地址以及需要读取的寄存器数量,后两个字节是用CRC计算出来的校验码
把它们都放在OutputByte中,然后用
do while(.....)
doevents
loop
MSComm1.Output=OutputByte
结构发送
subzero 2007-08-04
  • 打赏
  • 举报
回复
建立字节数组,把以上数据填充进去,发送即可

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧