有一台称重显示控制器,通过RS232C接口与一般的计算机串口连接,将显示重量的数据在计算机上显示出来。称重数据时持续不断地传送的。
该仪器的说明书部分内容摘录如下:
1. 通讯接口采用15芯RS232插头座,其引脚定义见图(注:即15芯的6、7、8,其中6:RXD, 7:TXD, 8:信号地)。
2. 所有数据均为ASCII码,每组数据由10位组成,第1位为起始位,第10位为停止位,中间8位为数据位,通讯方式为:
 连续方式(tF=0):
 所传送的数据位仪表显示的当前称重(毛重或净重),每帧数据由12组数据组成。格式如下:第x字节 内容及注释
  1 02(XON) 开始
  2 +或- 符号位、
  3 称量数据 高位
  : 称量数据 :
  : 称量数据 :
  8 称量数据 低位
  9 小数点位数 从右到左(0 - 4)
 10 异或校验 高四位
 11 异或校验 低四位
 12 03(XOFF) 结束现在串口通讯部分已调试好了,可以接收从称重显示控制器传过来的数据,这部分就不劳各位费心了。我用这条语句就可以显示传来的数据(我的源码可参考帖子:http://topic.csdn.net/u/20100414/12/ebcb56ae-8b70-44a0-b885-7de5231aaf6b.html?3980):
txtDataReceived.AppendText(serialPort.ReadExisting());我的问题是:txtDataReceived(为TextBox控件)所显示的是一大片数据,包括每一帧的开始、结束位等符号信息,乱七八糟的。现在需要判别每一帧的数据,以便将其中的称量数据、小数点、正负号取出,赋值给txtDataReceived以便显示出来。怎样判别并取数我不会,请各位能否给个代码,不胜感激,300分一定奉送!

解决方案 »

  1.   

    我的问题是:txtDataReceived(为TextBox控件)所显示的是一大片数据,包括每一帧的开始、结束位等符号信息,乱七八糟的。现在需要判别每一帧的数据,以便将其中的称量数据、小数点、正负号取出,赋值给txtDataReceived以便显示出来。怎样判别并取数我不会,请各位能否给个代码,不胜感激,300分一定奉送!
    眼花。
    看完了....  总归了下 是不是截取字符串啊?? 给你两种截取方法 你看那种适合你
    第一种
    string bs = "北京星纪开元科技发展有限公司唐山分公司=9=k";
    string c = bs.Substring(bs.IndexOf("星纪开元"), 4);//截取指定字符串
    C的值是   星纪开元
    第二种
    string ass = "<P>asdsfdsadsaasdfds的飒飒的速度是的是电视上的</P>";
    string[] arr = ass.Split('<');
                string tempa = "";
                string temp = "";
                string tem = "";
                string te = "";
                foreach (string ch in arr)
                {
                    tempa += ch;
                }
                string[] brr = tempa.Split('P');
                foreach(string bh in brr)
                {
                    temp += bh;
                }
                string[] crr = temp.Split('>');
                foreach (string ch in crr)
                {
                    tem += ch;
                }
                string[] drr = tem.Split('/');
                foreach(string dh in drr)
                {
                    te += dh;
                }TextBox1.Text = te;//TextBox1输出为 asdsfdsadsaasdfds的飒飒的速度是的是电视上的
      

  2.   

    不管你的通信約定是什么,都要從COM口讀出來再說吧!!這個問下BAIDU就好,
    然後依照它提供的通信規約解析數據就好了
      

  3.   

    CSDN曾有过这样的外包。这是外包价。