1.我传输用的是485的线,这样的话传输方法和其他串口传输有差别么?若有差别怎么改?
  属性SETTING里面只有9600,n,8,1可以更改2.传输问题,能不能建立一个数组,然后把整个数组变换成 string 在通过byte[] bData = Encoding.Unicode.GetBytes( yourString );来变成byte传输?private byte[] getFill() 

string result=""
TextBox[] myTextBox = new TextBox[5]; 
myTextBox[0] = textBox1; 
myTextBox[1] = textBox2; 
myTextBox[2] = textBox3; 
myTextBox[3] = textBox4; 
myTextBox[4] = textBox5; 
for ( int i=0;i< 5;i++) 

result+=myTextBox[i].Text;
}
byte[] bData = Encoding.Unicode.GetBytes(result);
return bData;
}  然后用this.axMSComm1.Output=getFill();把这个数组传送出去
如果不能的话,是不是要把textBox里面的数据先变成Byte然后再整合成数组?
如果都不是,应该怎么样发送?
3.因为目前还没连接到串口设备,所以我想用一个接受器材看看我传输的东西是否正确,我用这东西传 swWriter.WriteLine(getFill());//刷新当前数据流中的数据 swWriter.Flush();
 
但是对面接受的时候显示System.Byte[],而不是我想要的数据,是不是这两条语句只能传输string的?原来我传string的完全成功。
如果不是的话,怎么检测?怎么知道我发送的数据就是我想要的Byte

解决方案 »

  1.   

    to 1
    最好看看相关说明,是否要使用setting来进行设置。to 2
    基本上没问题,不过需要看接收端是否用同样的编码方式。to 3

    swWriter.WriteLine(getFill());//刷新当前数据流中的数据
    改为
    swWriter.WriteLine( Encoding.Unicode.GetString( getFill() ));WriteLine接受的参数类型为string。
      

  2.   

    还有的是WINCE下面MSCOMM可不可以用?
      

  3.   

    swWriter.WriteLine( Encoding.Unicode.GetString( getFill() ));这样改了的话,其实就是在一个程序里面先把String转换成Byte,然后把Byte转换成String
    传输的时候还是传的String,有什么办法测试Byte的传输?
      

  4.   

    to 还有的是WINCE下面MSCOMM可不可以用?参看其在msdn中的说明,参看platform或者平台这部分。
      

  5.   

    to 这样改了的话,其实就是在一个程序里面先把String转换成Byte,然后把Byte转换成String
    传输的时候还是传的String,有什么办法测试Byte的传输?我前面也提到了,你最好了解一下接收端的编码方式,否则你再做转换的时候就可能有问题。
      

  6.   

    MSCOMM
    是VB里面扣过来的东西
    VS2003的C#貌似没有串口控件
      

  7.   

    2005,System.Io.Prts  SerialPorts
      

  8.   

    to MSCOMM
    是VB里面扣过来的东西我还以为你用的是vs2005呢,mscoom也不能说是vb所提供的,是系统提供的。而对于WINCE下面MSCOMM可不可以用,
    你在ce环境下看看有没有此ocx。
      

  9.   

    主要我用的是VS2003自己写API么鉴于我是菜鸟,就怕写不好,把公司的东西给搞砸了