MFC串口通信控件mscomm
2013-08-26 16:50
393 查看
这个控件在vs2010中已经不存在,如果想使用请参照网络上的方法自己添加该控件,这里我推荐使用serialport进行串口通信
转自:http://dev.yesky.com/231/2309731_2.shtml
深入浅出VC++串口编程之基于控件
2006-02-21 10:05 来源:天极开发 作者:宋宝华 责任编辑:方舟·yesky 评论(25)2.例程
程序的功能和界面(如下图)都与本文连载三中《基于WIN32 API的串口编程》相同,不同的只是连载三的串口通信以API实现,而本节的串口通信则以MSComm控件实现。
void CSerialPortActivexDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSerialPortActivexDlg) DDX_Text(pDX, IDC_RECV_EDIT, m_recv); DDX_Text(pDX, IDC_SEND_EDIT, m_send); DDX_Control(pDX, IDC_MSCOMM1, m_mscom); //}}AFX_DATA_MAP } |
CMSComm m_mscom; |
BOOL CSerialPortActivexDlg::OnInitDialog() { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. // IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { CString strAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here m_mscom.SetCommPort(1); //串口1 m_mscom.SetInBufferSize(1024); //设置输入缓冲区的大小,Bytes m_mscom.SetOutBufferSize(512); //设置输入缓冲区的大小,Bytes if(!m_mscom.GetPortOpen()) //打开串口 { m_mscom.SetPortOpen(true); } m_mscom.SetInputMode(1); //设置输入方式为二进制方式 m_mscom.SetSettings("9600,n,8,1"); //设置波特率等参数 m_mscom.SetRThreshold(1); //为1表示有一个字符即引发事件 m_mscom.SetInputLen(0); return TRUE; // return TRUE unless you set the focus to a control } |
void CSerialPortActivexDlg::OnSendButton() { // TODO: Add your control notification handler code here UpdateData(true); CByteArray sendArr; WORD wLength; wLength = m_send.GetLength(); sendArr.SetSize(wLength); for(int i =0; i<wLength; i++) { sendArr.SetAt(i, m_send.GetAt(i)); } m_mscom.SetOutput(COleVariant(sendArr)); } |
相关文章推荐
- VC控件MSComm编写串口通信程序
- VC++ VS2010 MFC 配合串口控件MSCOMM 复选框CheckBox 下拉ComboBox来选择打开串口端口
- VS2008下用MFC 的MSComm控件编写串口程序
- MFC采用MSComm控件通信时,出现error LNK2001:无法解析的外部符号问题的解决方法
- VC++ VS2010 MFC配合串口控件MSCOMM 的实际应用 - 打码机上位机软件 Demo 含例程
- 串口通信-MSComm控件使用详解
- VS2008下用MFC 的MSComm控件编写串口程序
- vc++下MSComm控件的串口通信方法
- VS2008下用MFC 的MSComm控件编写串口程序
- C#串口通信:MSComm控件使用详解
- VS2010中MSCOMM 串口通信控件的注册使用
- VC控件MSComm编写串口通信程序
- VC控件MSComm编写串口通信程序(转)
- VC控件MSComm编写串口通信程序
- VC控件MSComm编写串口通信程序(转)
- VC控件MSComm编写串口通信程序(转)
- C#串口通信:MSComm控件使用详解
- MFC——VS中MSComm串口控件的导入和注意事项
- VS2008下用MFC 的MSComm控件编写串口程序
- VS2008下用MFC 的MSComm控件编写串口程序