VC++ 简单的 串口通信软件 (MSComm 控件实现) 核心代码 初始化函数 BOOL CSCommTestDlg::OnInitDialog() { CDialog::OnInitDialog(); // Add "About..." menu item to system menu. made by lzycsd // 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_ctrlComboComPort.SetCurSel(0); //初始选择串口1 m_ctrlComboBaudRate.SetCurSel(6); //初始选择波特率9600 m_ctrlComboParityBit.SetCurSel(0); //初始选择校验位无 m_ctrlComboDataBit.SetCurSel(3); //初始选择数据位8位 m_ctrlComboStopBit.SetCurSel(0); //初始选择停止位1位 m_strSendPeriod="1000"; //初始自动发送周期为1000毫秒 UpdateData(FALSE); //修改编辑框内容 //GetDlgItem(IDC_EDIT_SENDPERIOD)->SetWindowText("1000");另一种方法设置 ////其他初始化 //////////////////////////////////////////////// //串口初始化 m_ctrlComm.SetCommPort(m_ctrlComboComPort.GetCurSel()+1); //选择COM1 //波特率9600,无校验,8个数据位,1个停止位 m_ctrlComm.SetInputMode(1); //输入方式为二进制方式 m_ctrlComm.SetInBufferSize(1024); //设置输入缓冲区大小 m_ctrlComm.SetOutBufferSize(512); //设置输出缓冲区大小 //波特率9600,无校验,8个数据位,1个停止位 m_ctrlComm.SetSettings("9600,N,8,1"); if(!m_ctrlComm.GetPortOpen()) // { m_ctrlComm.SetPortOpen(TRUE); //打开串口 SetPortOpen函数返回值为void // m_ctrlOpe...