希望可以可到一个具体的例子。
setting 9600 n 8 1
稍微说明下。发送方式如下:05 03 01 00 00 01 crc1 crc2
地址+命令+寄存器地址+字节长度+校验码
其中CRC用16的即可。
具体要求是这样的
1)可以实时的读取下位机的数据。
2) 当下位机数据有变化时,上面能跟着变化(CRC16和实时数据刷新最好能具体说下)
新手刚入门不久,希望得到帮忙,有意的发我邮箱,[email protected]
这个我知道,我就是用这个写了一个。但是因为写的简单了。CRC校验不会。实时的数据更新也没有。。。。
追答vb写串口调试软件很简单,就用一个mscomm控件就可以了
下面是主要代码:
Private Sub Cmd_Click()
MSComm1.CommPort = 1 '决定串口号
MSComm1.Settings = "9600,n,8,1" '设置波特率、校验位、数据位、停止位的字符串
MSComm1.PortOpen = True '打开串口
MSComm1.Output = "abcd" '向串口发送字符串"abcd"
MSComm1.PortOpen = False '关闭串口
End Sub
Private Sub MSComm1_OnComm() '当收到串口返回值时触发这个事件
Dim s As String '定义一个字符串变量
s = MSComm1.Input '将串口返回值放到字符串变量s中
MsgBox s '以消息框的方式显示串口返回的内容
End Sub
unsigned short CRC(unsigned char frame[],int n)
//数组frame是CRC校验的对象,n是要校验的字节数
{
int i,j;
unsigned short crc,flag;
crc=0xffff;
for(i=0;i>=1;
if(flag)
{crc&=0x7fff;
crc^=0xa001;
}
}
}
return(crc);
}