OnTimer有关问题

OnTimer问题
我要用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步进!!!

------解决方案--------------------
加一个标志 判断是否是第一次发送,再加一个变量计算已经发送了几次
例如: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)定时器
------解决方案--------------------
2000HZ?OnTimer 最多就55MS吧。。。。
------解决方案--------------------
开个线程来整呗 线程里面自己判断时间来循环