大家好:我用serialport写了一个串口通讯程序老是说system.timeout操作超时。下面是程序:请大家帮忙分析一下谢谢!
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 串口通讯
{
    public partial class Form1 : Form
    {
        //bool opened = false;
        public Form1()
        {
            InitializeComponent();           
        }        private void Form1_Load(object sender, EventArgs e)
        {        }        private void button1_Click(object sender, EventArgs e)
        {
            if (button2.Enabled == true)
            {
                MessageBox.Show("请打开串口!", "系统提示");
            }
            else
            {
                //serialPort1.Open();
                byte[] Data = Encoding.Unicode.GetBytes(textBox1.Text);
                string str = Convert.ToBase64String(Data);
                serialPort1.WriteLine(str);
                MessageBox.Show("发送数据成功!", "系统提示");
            }
             
         }
private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            if (button2.Enabled == true)
            {
                MessageBox.Show("请打开串口!", "系统提示");
            }
            else
            {
                try
                {
                    byte[] Data1 = Convert.FromBase64String(serialPort1.ReadLine());
                    textBox2.Text += Convert.ToString(DateTime.Now) + Encoding.Unicode.GetString(Data1) + "\r\n";
                }
                catch (Exception ex)
                {
                    MessageBox.Show("tcfdtfg" + ex);
                }
                //serialPort1.Close();
                timer1.Enabled = true;
            }        }        private void button2_Click_1(object sender, EventArgs e)
        {
            serialPort1.PortName = "COM1";
            serialPort1.BaudRate = 9600;
            serialPort1.Open();
            timer1.Enabled=true;
            button2.Enabled = false;
            button3.Enabled = true;
            textBox1.Text = "发送区";
            textBox2.Text = "接收区";        }        private void button3_Click_1(object sender, EventArgs e)
        {
            serialPort1.Close();
            button2.Enabled = true;
            button3.Enabled = true;
        }                
    }
}