急问:从串口发送二进制报文的问题

teddythebear 2003-08-19 10:49:23
我的数据来源是一个long类型的数组,现在要把它合并、整理成二进制报文,从串口发送出去。主要遇到以下几个问题:

1、如何把比较长的(1个byte装不下)的长整数放在两个byte当中?
2、如何把多个boolean型的数据(比如8个,都是1或者0),放在一个byte当中?
3、如何把从数组生成的这些byte凑成一个报文从串口发送?

盼望高手不吝赐教,谢谢!
...全文
58 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Greaitm 2003-08-19
  • 打赏
  • 举报
回复
Sorry!!
写错了
1、使用CopyMemory函数可以把长整数放在4个(而不是两个)byte当中
Greaitm 2003-08-19
  • 打赏
  • 举报
回复
1、使用CopyMemory函数可以把长整数放在3个(而不是两个)byte当中
2、同样使用CopyMemory可以把Boolean放在两个Byte中
3、发送时Output = a 就行了(dim a() as byte)
zhenglc 2003-08-19
  • 打赏
  • 举报
回复
1)除以256即&HFF
2)先组成字符串,例如"01000001",再做转换
3)把Byte组成数组byte()
since1990 2003-08-19
  • 打赏
  • 举报
回复
帮你 up
jmserver 2003-08-19
  • 打赏
  • 举报
回复
高字节可以mod 512(FF)
低字节不用我说了。
vb 串口编程我是行家(独立做过多个项目)
有问题:java_happy@hotmail.com
SUDT SerialTrace提供了全部符合串口标准的高级过滤功能,对各种串口输入、输出控制码(IOCTLS)也提供了良好的参数显示支持。经SerialTrace侦听、拦截得到的信息,完全符合RS232/422/485接口标准。

SerialTrace支持串行中继功能,可拦截两台设备间的通信信息。其原理是,利用计算机的两个串口分别与两台设备互联,通过SerialTrace进行设备间的报文中继转发,并在此基础上实现数据监控。

SerialTrace的界面美观精致,侦听、显示、仿真功能简捷易用,符合用户的操作和心理习惯。软件针对不同专业用户的关注内容,对信息进行分类,提供了 具有信息染色功能的多视图窗口供显示、分析使用,并提供查找功能方便用户查找相关信息。

SerialTrace拥有强大的实时数据捕捉、记录功能,支持高强度大数据量的侦听。数据信息可以 按照指定的格式显示(如:二进制、八进制、十进制、十六进制),便于用户观察数据。

SerialTrace内置仿真终端,支持全双工模式,最高波特率超过256000。并且为用户提供了数据“双击复制”功能,便于用户复制数据及时仿真。在当前任务运行或任务会话文件被导入,并且仿真终端窗口可见的情况下,只要双击Dump View窗口中带下划线的读写数据行(或Table View的读写数据行),即可将数据以十六进制字符串的形式复制到仿真终端的发送窗口,便于用户仿真测试。SerialTrace实现了侦听、拦截、分析、仿真功能的单窗口集中式服务。如上图所示。

SerialTrace提供了强大的任务会话导入、导出功能,可将每一次侦听任务过程中的所有数据导出为单一的会话文件文件供日后导入分析使用,也可以 将每个视图窗口的内容导出为RTF标准格式文档以及普通文本,为用户在多种场合下使用数据提供了方便。

SerialTrace还提供了详尽的参数设置,允许用户细致地设定每个视图的染色信息、显示内容、数据格式等,让用户能集中精力关注关键的信息。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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