小弟从没用过VC,现在想用它做点东西,控制串口发数据。
只要正确的架构,因为我不知道VC的架构(C有个主函数)现在我手头上有一个DOS下用C写的包括串口初始化、发一个字节、收一个字节的程序,不知道可不可以直接加到VC上去首先我建了一个对话框 ser ,全是默认参数
1。串口初始化是不是应该放在CSerApp::CSerApp()内呢
   若是的话,我写的初始化语句_outp(COM+3,0x80)编译通过了,运行不起来
2。发一个字节,比如我放在“确认”键,是不是应该在void CSerDlg::OnOK() 
{
// TODO: Add extra validation here
         函数发一个字节()
CDialog::OnOK();
}

解决方案 »

  1.   

    不了解,先看看MFC就应该可以转换过去的。
      

  2.   

    1. _outp(COM+3,0x80) 只类直接操作端口的函数只在 Windows 9x 有用,在 Win2000 以后都不能用,除非你用类似 WinIO 这种第三方的去除保护层 ( Windows protection ) 限制的驱动之后才能行。2.可以选择用 CreateFile, WriteFile, ReadFile 来完成对设备(串口)的操作,文档在:点 CSDN 左边的树“开发语言->VC/MFC->硬件/系统”,点右边页面偏上一点的“搜索”,此时页面会链向“论坛搜索”,注意到“选择大类”为“VC/MFC”,“选择小类”为“硬件/系统”,在“请输入关键字”处,请输入“串口”,然后按回车。
    wait a moment in silence...
      

  3.   

    你说的基本上都对,不过也可以在对话框类的OnInitDialog()里初始化,还要注意楼上说的那些东东,也就是WIN2K不能用outp发送I/O数据。对于串口编程网上有很多例子,你也可以找一下,参考一下。
      

  4.   

    建议楼主用Ms communication 控件,我以前的窜口程序都是用它做的,很方便。
    还有窜口初始化不能放在构造函数里,否则在运行时会出错,应放在OnInitXXXX函数里。
      

  5.   

    ①C*App 类是 Windows 应用程序的基础,它封装了入口函数(winmain),在 InitInstance()
     中创建应用程序实例。一般不对它做任何改动。②可以添加自己的代码的地方,基于对话框的程序是 C*Dlg 类,基于框架窗口的程序是
     CMainFrame 或 C*View 类。③“串口初始化” 放在 InitDialog() 中,“发送”放在按钮(可以是 IDOK、IDCANCEL 或
     是你自己加一个)的消息响应函数中——就是你说的函数。④兼容性问题,如楼上几位网友所说,不再赘述。⑤VC 程序员的做法一般是将有关串口操作函数写成一个类。
      

  6.   

    我这里有一个写好的串口类,不过只包含基本功能,不包含串口监视等。
    需要的话留个 e-mail 给我。