主程序中,通过按钮 Button1 打开子窗体 SubForm.cs 。
然后,在此子窗体的 SubForm_Load 装载事件中,
我进行了初始化 SerialPort 的 COM 端口的操作,并且 open 打开了此端口
问题是第一次弹开此窗体时,端口状态显示 “COM1打开正常”,当我关闭此窗体,第二次及以后再打开此窗体时,端口状态就一直显示 “COM1打开失败”,为什么每次都只是第一次弹开此窗体时,端口能打开,关闭后,再次打开,端口就不能打开呢。
------------------------------------------------------------------ SerialPort m_portA;
private void SubForm_Load(object sender, EventArgs e)
{
InitialComPort();//初始化端口
OpenComPorts(); //打开端口 } public void InitialComPort()
{
m_portA = new SerialPort();
m_portA.PortName = "COM1";
m_portA.BaudRate = 9600;//波特率
m_portA.Parity = Parity.Even;//偶校验位
m_portA.DataBits = 7;//7个数据位
m_portA.StopBits = StopBits.Two;//二个停止位
m_portA.ReadBufferSize = 1024;
m_portA.RtsEnable = true;
m_portA.DtrEnable = true;
m_portA.Handshake = Handshake.None;//控制协议 无
m_portA.ReceivedBytesThreshold = 1;
m_portA.ReadTimeout = 5000;
m_portA.WriteTimeout = 5000;
m_portA.DataReceived += new SerialDataReceivedEventHandler(m_portA_DataReceived);
} public void OpenComPorts()
{
if (m_portA.IsOpen == false)
{
try
{
m_portA.Open();
this.lblok1.Text = "COM1打开正常!"; }
catch
{
this.lblok1.Text = "COM1打开失败!";
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货