朝夕拾 2016-02-20 08:04 采纳率: 0%
浏览 1653

换了一台电脑就崩溃了

我的一个MFC的vs2010工程,能够实现串口通信。之前,在笔记本A上实验,串口是可以打开的,会显示“端口xxx设置成功”。但是当我把这个工程的文件夹原封不动的拷贝到笔记本B时,连接串口时就会报错。我的部分代码如下:
//else if(pMain->m_I2CDlgBar1.m_InterfaceType == 0)//选择串口通信
//{
CEdit pEdit;
CString Band_rate;
CString portStr,portstrtemp;
short portint;
static BOOL frist;
PortNewNum=pMain->m_I2CDlgBar1.m_port_num.GetCurSel()+1;//索引为0指的是COM1
pEdit=(CEdit
)(pMain->m_I2CDlgBar1.GetDlgItem(IDC_COMBO_BAND_RATE));
pEdit->GetWindowText(Band_rate);
m_strSeting= Band_rate+",n,8,1";//不懂
if(!COMOPEND)//COMOPEND是一个BOOL型的成员变量,初始值为FALSE.
{
DWORD style=WS_VISIBLE|WS_CHILD;
if (!m_comm.Create(NULL,style,CRect(0,0,0,0),this,ID_COMM))//create a Active Control,找不到ID_COMM对应的控件啊!!
{
COMOPEND=FALSE;
AfxMessageBox("Failed to create MSComm");
}
COMOPEND=TRUE;
m_comm.SetCommPort(PortNewNum);//设置端口号
m_comm.SetInBufferSize(4096*2);

m_comm.SetOutBufferSize(512);

if (!m_comm.GetPortOpen())//如果端口没打开,则打开
{
m_comm.SetPortOpen(TRUE);//打开
portint=m_comm.GetCommPort();
portStr.Format(_T("%d"),portint);
portstrtemp="端口"+portStr+"设置成功";
frist=TRUE;
MessageBox(portstrtemp);
}
但我单步运行调试运行“m_comm.SetCommPort(PortNewNum);”这一句时,程序就会崩溃。弹出下面这个框:
图片说明
图中显示,我的错误好像与f盘的一个叫dd的文件夹有关。但是我的两个笔记本A和B中的f盘里都没有这样一个文件夹啊,我觉得好奇怪,一时不知道改如何去差错,大神们快帮帮我吧,本人c++小白。。

  • 写回答

2条回答 默认 最新

  • lyhoo163 2016-02-20 22:39
    关注

    这应该是笔记本的串口驱动与你的代码不匹配造成的,试着找驱动安装吧!

    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试