朝夕拾 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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。