大家好:
   我是初学者,正在写串口通信,结果代码中DataReceived 不响应,硬件应没问题,短路线已连接.下面是代码:请大家看一下是哪出问题了:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports; namespace test2
{
    public partial class Form1 : Form
    {
        int a;
        int b;
        int c=0;        public Form1()
        {
            InitializeComponent();
        }        private void button1_Click(object sender, EventArgs e)
        {
        //add  1
            a = a + 1;
            label1.Text = a + "";        }        private void button2_Click(object sender, EventArgs e)
        {
       // add  10
            a = a + 10;
            label1.Text = a + "";        }        private void button3_Click(object sender, EventArgs e)
        {
            //add 100
            a = a + 100;
            label1.Text = a + "";        }        private void button4_Click(object sender, EventArgs e)
        {
     //send.            serialPort1.Open();            //byte[] data = Encoding.Unicode.GetBytes(textBox1.Text);
            //string str = Convert.ToBase64String(data);
            serialPort1.WriteLine(a.ToString());
            MessageBox.Show("数据发送成功!", "系统提示");            //serialPort1.Close();
            b = b + 1;
            textBox2.Text = " 发送  " + b;        }        private void button5_Click(object sender, EventArgs e)
        {
                     serialPort1.Close();
        }        public delegate void DataReceivedDelegate(object sender, EventArgs e);
        public void serialPort1_DataReceived(object sender, EventArgs e) //这是你那个事件
       {
        Invoke(new DataReceivedDelegate(CallDataReceived),new object[]{sender,e});
        }        public void CallDataReceived(object sender, EventArgs e)
        {
             byte[] data = Convert.FromBase64String(serialPort1.ReadLine());            MessageBox.Show("数据接收成功!", "系统提示");
            c = data[0] +data[1] ;
            serialPort1.Close();
            textBox1.Text = " 收到 " + c;        }
        private void Form1_Load(object sender, EventArgs e)
        {
            serialPort1.PortName = "COM1";
            serialPort1.BaudRate = 9600;
            serialPort1.Parity = Parity.None;
            serialPort1.DataBits = 8;
            serialPort1.StopBits = StopBits.One;
            serialPort1.RtsEnable = true;
            serialPort1.DtrEnable = true;
            serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort1_DataReceived);
        }        private void textBox2_TextChanged(object sender, EventArgs e)
        {        }        private void textBox1_TextChanged(object sender, EventArgs e)
        {        } 
    }
}