
串口通信中“帧头+节点ID+数据长度+命令(因素ID)+附加数据+校验+帧尾”各部分怎么定义?
3个回答

2025-01-03 广告
要从电脑的一个串行口接收数据并将其从另一个串行口发送出去,你可以使用以下步骤:1. 确定你要使用的两个串行口。在大多数计算机上,串行口通常被称为COM1、COM2等。确保你了解每个串行口的名称或编号。2. 编写一个程序来读取来自一个串行口的...
点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
展开全部
都是根据实际情况自己编织的协议,不同设备之间通信可以有点区别,下边是我以前做的一个PC机与DSP控制器之间的通信子程序,供您参考,程序的意思是,PC机发一句话给DSP我要读取数据,请准备并发给我,实际是发了一条控制指令。这个结束后,按照协议开始读串口。子程序用VB书写,其中汉字皆为变量名,公共变量,一般为字节型16进制数。
Sub ReadDevice(ByVal 设备号 As Byte, ByVal 命令 As Byte, ByVal 收数据类型 As Byte)
读写标识 = 1 '!
命令字 = 命令 '!
节点号 = 设备号 '!
Dim DSD(4) As Byte
DSD(0) = 帧头 '!
DSD(1) = 设备号
DSD(2) = 命令
DSD(3) = &H0
DSD(4) = 命令
收帧长度 = 收数据类型 + 5 '!
With mian_loop.MSComm1
.RThreshold = 收帧长度
.InBufferCount = 0
.OutBufferCount = 0
.Output = DSD
End With
End Sub
希望能对你有多帮助
Sub ReadDevice(ByVal 设备号 As Byte, ByVal 命令 As Byte, ByVal 收数据类型 As Byte)
读写标识 = 1 '!
命令字 = 命令 '!
节点号 = 设备号 '!
Dim DSD(4) As Byte
DSD(0) = 帧头 '!
DSD(1) = 设备号
DSD(2) = 命令
DSD(3) = &H0
DSD(4) = 命令
收帧长度 = 收数据类型 + 5 '!
With mian_loop.MSComm1
.RThreshold = 收帧长度
.InBufferCount = 0
.OutBufferCount = 0
.Output = DSD
End With
End Sub
希望能对你有多帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-03
展开全部
这就是通信过程中数据的格式嘛
通信协议的内容
多看 协议 的全部内容
通信协议的内容
多看 协议 的全部内容
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询