串口打开失败

hjh63778588 2013-08-16 03:07:25
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.Ports;



namespace chuankou
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
if (this.serialport.IsOpen) {
this.serialport.Close();
}
this.serialport.Encoding = System.Text.Encoding.Unicode;
this.serialport.Open();

}

SerialPort serialport = new SerialPort();

private void button2_Click(object sender, EventArgs e)
{
serialport.WriteLine(this.textBox1.Text);
}

private void button3_Click(object sender, EventArgs e)
{
serialport.ReadLine();
}

private void Form1_Load(object sender, EventArgs e)
{

string[] ports = System.IO.Ports.SerialPort.GetPortNames();
foreach (string port in ports)
{
this.comboBoxSerialPort.Items.Add(port);
}
int items = this.comboBoxSerialPort.Items.Count;
if (items != 0)
{
//this.comboBoxSerialPort.SelectedIndex =0;
int index = 0;
for (int i = 0; i < items; i++)
{
string StrPort = this.comboBoxSerialPort.Items[i].ToString();
if (StrPort.Equals("COM1"))
{
index = i;
break;
}
}
this.comboBoxSerialPort.SelectedIndex = index;
}
}
}
}
窗体上获取串口的下拉列表框的name是comboBoxSerialPort,运行的时候提示我串口“com1”不存在,但是comboBoxSerialPort里面获取的是com3呀
麻烦大家帮忙看一看!!!
...全文
109 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱LOVE大葱 2013-08-23
  • 打赏
  • 举报
回复
serialport.name=comboBoxSerialPort.text; 你都没有给serialport赋过值
feiniao19830822 2013-08-16
  • 打赏
  • 举报
回复
串口对象没有设定串口名称。 给你改一下代码供参考。

        SerialPort serialport;
        private void button1_Click(object sender, EventArgs e)
        {
            if (null == this.serialport)
            {
                this.serialport= new SerialPort();
            }

            if (this.serialport.IsOpen) {
                this.serialport.Close();
            }
            //设定串口名称
            this.serialport.PortName = this.comboBoxSerialPort.Text;
            this.serialport.Encoding = System.Text.Encoding.Unicode;
            this.serialport.Open();
            
        }

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧