2条回答
- dengrui521 2016-12-07 09:12关注
CmscommDlg::CmscommDlg(CWnd*pParent/*=NULL*/)
:CDialogEx(CmscommDlg::IDD,pParent)
,m_EditReceive(_T(“”))
,m_Editsend(_T(“”))
,m_data(0)
,n_data(0)
,x_data(0)
{
m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
m_data=0;
n_data=0;
}
/*初始化串口控件,编辑框控件,teechart控件、列表控件*/
BOOL CmscommDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
CString str;
int i;
for(i=0;i {
str.Format(_T(“com%d”),i+1);
m_com1.InsertString(i,str);
}
m_com1.SetCurSel(0);
CString str1[]={_T(“300”),_T(“600”),_T(“1200”),_T(“2400”),_T(“4800”),_ T(“9600”),_T(“19200”),_T(“38400”),_T(“43000”),_T(“56000”),_T (“57600”),_T(“115200”)};
for{int i=0;i {
int judge_tf=m_comb2.AddString(str1[i]);
if((judge_tf==CB_ERR)||(judge_tf==CB_ERRSPACE))
MessageBox(_T(“build baud error!”));
}
m_com2.SetCurSel(5);
CRect rect;
/*teechart图表控件编写*/
m_list.GetClientRect(&rect);
m_list.SetExtendedStyle(m_list.GetExtendedStyle()|LVS_EX_FULLROW SELECT|LVS_EX_GRIDLINES);
m_list.InsertColumn(0,_T(“采样次数”), LVCFMT_CENTER,rect.Width()/3,0);
m_list.InsertColumn(0,_T(“数值”),LVCFMT_CENTER,rect.Width()/3,1);
m_list.InsertColumn(0,_T(“跑偏量”),LVCFMT_CENTER,rect.Width()/3,2);
int m;
CString n=_T(“0”); returnTURE;}
/*打开串口按钮程序编写*/
void CmscommDlg::OnBnClickedOpen()
{
CString str,str1,n;//定义字符串
GetDlgItemText(IDC_OPEN,str);
CWnd*h1;
h1=GetDlgItem(IDC_OPEN);//指向控件的caption
if(!m_mscom.get_PortOpen())
{
m_comb2.GetLBText(m_comb2.GetCurSel(),str1);//取得所选的字符串,并存放在str1
str1=str1+’,’+’n’+’,’+’8’+’,’+’1’;
m_mscom.put_CommPort((m_com1.GetCurSel()+1));//选择串口
m_mscom.put_InputMode(1);
m_mscom.put_Settings(str1);
m_mscom.put_InputLen(1024);
m_mscom.put_RThreshold(1);
m_mscom.put_RTSEnable(1);
m_mscom.put_PortOpen(TURE);
if(m_mscom.get_PortOpen())
{
Str=_T(“关闭串口”);
UpdateData(TURE);
h1->SetWindowText(str);
}
}
else
{
m_mscom.put_PortOpen(FALSE);
if(str!=_T(“打开串口”))
{
UpdateData(TRUE);
h1->SetWindowText(str);
}
}
}
void CmscommDlg::OnCommMscomm1()
{
//TODO:在此处添加消息处理代码
if(m_mscom.get_CommEvent()=2)
{
int n=0;
char str[1024]={0};
long k;
VARIANT InputData= m_mscom.get_ Input();
COleSafeArray fs;
fs= InputData;
for(k=0;k<fs.GetOneDimSize();k++)
{
fs.GetElement(&k,str+k);
m_EditReceive=str;
UpdateData(FALSE);
}
}
}
/*开始绘制曲线按钮*/
void CmscommDlg::OnBnClickedButton1()
{
SetTimer(1,10,NULL);
}
void CmscommDlg::OnEnChangeReceive()
{
UpdateData(TRUE);
}
void CmscommDlg::OnEnChangeSend()
{
}
void CmscommDlg::OnTimer(UINT_PTR nIDEvent)
{
Cstring nusf,ns,es=_T(“0”);
GetDlgItem Text(IDC_RECEIVE,nusf);
int ss=_ttoi(nusf),n=0;
float m=0.0;
CSeries serDemo=( CSeries)m_chart. Series(0);
serDemo.AddXY(++m_data,ss,NULL,0);
es.Format(_T(“%d),x_data);
m_list.InsertItem(x_data,es);
m_list.SetItemText(x_data,1,m_EditReceive);
m=_toff(m_EditReceive);
m=m-2.5;
ns.Format(_T(“%f”),m);
m_list.SetItemText(x_data,2,ns);
x_data++;
// m_list.InsertItem(m_data, m_EditReceive);
CDialogEx::OnTimer(nIDEvent);
}
/*停止绘制曲线按钮*/
void CmscommDlg::OnBnClickedCleart()
{
//TODO:在此添加控件通知处理程序代码
KillTimer(1);
}解决 无用评论 打赏 举报
悬赏问题
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
- ¥15 数据可视化Python
- ¥15 要给毕业设计添加扫码登录的功能!!有偿
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘