|
void CWINCE500_TCP_CLIENTDlg::OnBnClickedButton4()
{
//打开串口1
//判断串口是否已经打开
if (m_pSerial != NULL)
{
m_pSerial->ClosePort();
delete m_pSerial;
m_pSerial = NULL;
}
//串口参数输入对话框
CDlgParams dlgParams;
dlgParams.setCmbComNo = 0;
if (dlgParams.DoModal() == IDOK)
{
//新建串口通讯对象
m_pSerial = new CCESeries();
m_pSerial->m_OnSeriesRead = OnSerialRead;
//打开串口
if (m_pSerial->OpenPort(this,
dlgParams.m_portNo,
dlgParams.m_baud,
dlgParams.m_parity,
dlgParams.m_databits,
dlgParams.m_stopbits))
{
AfxMessageBox(L"串口1打开成功");
}
else
{
AfxMessageBox(L"串口1打开失败");
}
}
//打开串口3
//判断串口是否已经打开
if (m_pSerial3 != NULL)
{
m_pSerial3->ClosePort();
delete m_pSerial3;
m_pSerial3 = NULL;
}
dlgParams.setCmbComNo = 2;
if (dlgParams.DoModal() == IDOK)
{
//新建串口通讯对象
m_pSerial3 = new CCESeries();
m_pSerial3->m_OnSeriesRead = OnSerialRead2;
//打开串口
if (m_pSerial3->OpenPort(this,
dlgParams.m_portNo,
dlgParams.m_baud,
dlgParams.m_parity,
dlgParams.m_databits,
dlgParams.m_stopbits))
{
AfxMessageBox(L"串口3打开成功");
}
else
{
AfxMessageBox(L"串口3打开失败");
}
}
}
上面的程序我设断点调试,一到if (m_pSerial3 != NULL)就跳走了。正常应该是点按钮之后弹出串口1的设置对话框点确定出线设置成功对话框,之后再点确定出现串口2对话框,但现在串口2对话框不出来了。在程序初始化的时候也没有打开过串口3,难道串口自己会打开,不用在程序中设置?求高人指点。
|
|