急急急....RS-485串口为什么接收不到数据?懂串口的进来看看啊..
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;
namespace _2
{
public partial class Form1 : Form
{
SerialPort spReceive = new SerialPort ();
delegate void UpdateTextEventHandler(string text);//声明一个委托
UpdateTextEventHandler updateText;//创建一个委托实例
public Form1()
{
InitializeComponent();
updateText = new UpdateTextEventHandler(UpdateTextBox);
spReceive.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(spReceive_DataReceived );
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
spReceive.PortName = "COM5";
spReceive.BaudRate = 2400;
spReceive.DataBits = 8;
spReceive.StopBits = StopBits.One;
spReceive.Parity = Parity.Even;
//string str = "FE FE FE 68 AA AA AA AA AA AA 68 13 00 DF 16";
//byte[] data = System.Text.Encoding.ASCII.GetBytes(str );
byte []data=new byte [15];
data[0]=0xFE;
data[1]=0xFE;
data[2]=0xFE;
data[3]=0x68;
data[4]=0xAA;
data[5]=0xAA;
data[6]=0xAA;
data[7]=0xAA;
data[8]=0xAA;
data[9]=0xAA;
data[10]=0x68;
data[11]=0x13;
data[12]=0x00;
data[13] = 0xDF;
data[14] = 0x16;
//byte[] data = {1,2,3,4,5,6,7,8,9,10,11,12,13};
spReceive.Open();
spReceive.Write(data ,0,15);
//spReceive.Write(data,0,data.Length );
spReceive.Close();
}
public void spReceive_DataReceived(object sender,System .IO .Ports .SerialDataReceivedEventArgs e)
{
byte[]readBuffer = new byte[spReceive .ReadBufferSize];
spReceive.Read(readBuffer,0,readBuffer.Length);
this.Invoke(updateText ,new string []{Encoding .Unicode .GetString (readBuffer )});
string readString = spReceive.ReadExisting();
this.Invoke(updateText ,new string []{readString });
}
private void UpdateTextBox(string text)
{
textBox1.Text =text.ToString();
}
}
}
我向串口发送一串16进制命令,但是接收不到串口的返回数据.我有两个控件,一个Button 一个TextBox 我点击Button然后textbox显示返回的数据.但是现在好像收不到数据.上面的代码是哪里出了问题?