MSComm控件出错

我做了一个简单的MSComm控件的程序,但是一旦运行到串口控件初始化时就出错,如下图:具体代码如下:(我只是在初始化对话窗口时,增加了串口初始化)BOOLCSerialC... 我做了一个简单的MSComm控件的程序,但是一旦运行到串口控件初始化时就出错,如下图:

具体代码如下:(我只是在初始化对话窗口时,增加了串口初始化)
BOOL CSerialCOMDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();

// 将“关于...”菜单项添加到系统菜单中。

// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
BOOL bNameValid;
CString strAboutMenu;
bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
ASSERT(bNameValid);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}

// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标

// TODO: 在此添加额外的初始化代码
m_ctrlComm.put_CommPort(1);
m_ctrlComm.put_InputMode(1);//输入方式为二进制方式
m_ctrlComm.put_InBufferSize(1024);//输入缓冲区大小为1024byte
m_ctrlComm.put_OutBufferSize(512);//输出缓冲区大小为512byte
m_ctrlComm.put_Settings(_T("9600,n,8,1"));//设置串口参数:9600波特率,无奇偶校验,8个数据位,1个停止位
if(!m_ctrlComm.get_PortOpen())
m_ctrlComm.put_PortOpen(1);//打开串口
m_ctrlComm.put_RThreshold(1);//每当串口接收缓冲区有多余或等于1个字符时将引发一个接收数据的oncomm事件
m_ctrlComm.put_InputLen(0);//设置当前接收区数据长度为0
m_ctrlComm.get_Input();//预读缓冲区以清空残留数据

return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
展开
 我来答
fawdlstty
2014-10-20 · 超过18用户采纳过TA的回答
知道答主
回答量:39
采纳率:100%
帮助的人:20.7万
展开全部
单步调试,看看具体是哪行代码出了问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式