我要用OnTimer定时器实现一个自动发送功能,发送内容开始频率是2000Hz,以后每秒发送一次数据,但是频率按100Hz累加,求OnTimer中触发事件的代码该怎样写?void CMyDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
//添加你要处理的函数,当定时时间到时自动调用
//通过调用 SetTimer(1,1000,NULL)启动定时器,通过调用KillTimer(int nIDEvent)关闭定时器
CMyDlg::OnButtonZidongceshi();
CDialog::OnTimer(nIDEvent);
}void CMyDlg::OnButtonZidongceshi()
{
// TODO: Add your control notification handler code here
CString str,temp; CByteArray hexdata; m_pinlv.GetWindowText(str);
int n=atoi(str);
temp=algorismtohex(n);
int len=String2Hex(temp,hexdata); //频率 m_cComm.SetOutBufferCount(0);//清空发送缓冲区
m_cComm.SetOutput(COleVariant(hexdata));//发送十六进制数据
SetTimer(1,2000,NULL);
}这是我的一段代码,要求频率按100步进!!!
{
// TODO: Add your message handler code here and/or call default
//添加你要处理的函数,当定时时间到时自动调用
//通过调用 SetTimer(1,1000,NULL)启动定时器,通过调用KillTimer(int nIDEvent)关闭定时器
CMyDlg::OnButtonZidongceshi();
CDialog::OnTimer(nIDEvent);
}void CMyDlg::OnButtonZidongceshi()
{
// TODO: Add your control notification handler code here
CString str,temp; CByteArray hexdata; m_pinlv.GetWindowText(str);
int n=atoi(str);
temp=algorismtohex(n);
int len=String2Hex(temp,hexdata); //频率 m_cComm.SetOutBufferCount(0);//清空发送缓冲区
m_cComm.SetOutput(COleVariant(hexdata));//发送十六进制数据
SetTimer(1,2000,NULL);
}这是我的一段代码,要求频率按100步进!!!
例如:bool isfirst=true;在调用OnButtonZidongceshi之前初始化为true;
int count=0; 然后在void CMyDlg::OnButtonZidongceshi()里面
if(isfirst)
{SetTimer(1,2000,NULL); isfirst=false;}
else
{
每次叠加100
int newtime=1000+100*count;
SetTimer(1,newtime,NULL);
count++;
}
在
void CMyDlg::OnTimer(UINT nIDEvent)
里面每次都KillTimer(int nIDEvent)定时器