16,472
社区成员
发帖
与我相关
我的任务
分享
int iPort = 0;
int iSel = m_comb.GetCurSel();
if(iSel != CB_ERR)
{
CString szPort;
m_comb.GetLBText(iSel, szPort);
_stscanf(szPort, _T("COM%d"), &iPort);
TRACE(_T("Port = %d\n"), iPort);
}
if (!m_mscom.get_PortOpen())
{
m_comb2.GetLBText(m_comb2.GetCurSel(), str1); //取得所选的字符串,并存放在str1里面
str1 = str1 + ',' + 'm' + ',' + '8' + ',' + '1'; //波特率str1,mark校验,8个数据位,1个停止位(这是系统已经设置好了,无需自己再添加)
m_mscom.put_CommPort((m_comb.GetCurSel() + 1)); //选择串口
m_mscom.put_InputMode(1); //设置输入方式为二进制方式
m_mscom.put_Settings(str1); //波特率为(波特率组合框),无校验,8数据位,1个停止位
m_mscom.put_InputLen(1); //设置读取当前接收区所有数据
m_mscom.put_SThreshold(0); //一次发送所有数据,发送时不产生OnCommMscomm1事件
m_mscom.put_RThreshold(1); //缓冲区一个字符引发事件
m_mscom.put_RTSEnable(1); //设置RT允许
m_mscom.put_PortOpen(true); //打开串口