主题:请高手指点:为何用串口接收的数据不对?
初学C#,按网上的介绍学习串口编程如下:
无关部分:略
private void axMSComm1_OnComm(object sender, System.EventArgs e)
{
string strIn="" ; //定义变量strIn,赋初值为空
byte[] bytIn; //定义变量bytIn
object objIn; //定义变量objIn 为对象型
int i; //定义变量i
axMSComm1.InputMode=MSCommLib.InputModeConstants.comInputModeBinary;
axMSComm1.InputLen=0;
objIn=axMSComm1.Input;
bytIn =(byte[])objIn;
for (i=0;i<=(bytIn.Length-1);i++ )
{
strIn +=bytIn[i].ToString("X");
}
textBox1.Text+=strIn;
}
要接收的数据格式是:一个起始位,而后是六个字节的数据,最后是一个结束位。这六个字节的第一个字节为固定的十六进制数AA,最后一个字节为固定的十六进制数BB,
而实际接收到的数据为中间的四个字节数据都对,起始为98 E6,末尾为9E FE。
不知差在哪了?请高人指点。
邮箱:zaiwu2000@126.com
电话:13391925045
无关部分:略
private void axMSComm1_OnComm(object sender, System.EventArgs e)
{
string strIn="" ; //定义变量strIn,赋初值为空
byte[] bytIn; //定义变量bytIn
object objIn; //定义变量objIn 为对象型
int i; //定义变量i
axMSComm1.InputMode=MSCommLib.InputModeConstants.comInputModeBinary;
axMSComm1.InputLen=0;
objIn=axMSComm1.Input;
bytIn =(byte[])objIn;
for (i=0;i<=(bytIn.Length-1);i++ )
{
strIn +=bytIn[i].ToString("X");
}
textBox1.Text+=strIn;
}
要接收的数据格式是:一个起始位,而后是六个字节的数据,最后是一个结束位。这六个字节的第一个字节为固定的十六进制数AA,最后一个字节为固定的十六进制数BB,
而实际接收到的数据为中间的四个字节数据都对,起始为98 E6,末尾为9E FE。
不知差在哪了?请高人指点。
邮箱:zaiwu2000@126.com
电话:13391925045