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 flink cdc无法实时同步mysql数据
- ¥100 有人会搭建GPT-J-6B框架吗?有偿
- ¥15 求差集那个函数有问题,有无佬可以解决
- ¥15 【提问】基于Invest的水源涵养
- ¥20 微信网友居然可以通过vx号找到我绑的手机号
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名