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
属性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
最好看看相关说明,是否要使用setting来进行设置。to 2
基本上没问题,不过需要看接收端是否用同样的编码方式。to 3
把
swWriter.WriteLine(getFill());//刷新当前数据流中的数据
改为
swWriter.WriteLine( Encoding.Unicode.GetString( getFill() ));WriteLine接受的参数类型为string。
传输的时候还是传的String,有什么办法测试Byte的传输?
传输的时候还是传的String,有什么办法测试Byte的传输?我前面也提到了,你最好了解一下接收端的编码方式,否则你再做转换的时候就可能有问题。
是VB里面扣过来的东西
VS2003的C#貌似没有串口控件
是VB里面扣过来的东西我还以为你用的是vs2005呢,mscoom也不能说是vb所提供的,是系统提供的。而对于WINCE下面MSCOMM可不可以用,
你在ce环境下看看有没有此ocx。