我现在要用多媒体定时器采集串口数据,要求采集30个数据以后自动关闭定时器,为什么我的定时器无法关闭,始终停留在while(1),要是不加while(1),则不能进入回调函数,请问应该如何修改?
源代码如下:
#include "stdafx.h"
#include <Mmsystem.h>
#pragma comment(lib, "winmm.lib") MMRESULT wTimerID;
UINT g_uTimerRes_ms;
PASCAL CallBackMilliSecondProc(UINT wTimerID, UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2);
void main()
{    int g;
g_uTimerRes_ms=20;
    wTimerID=timeSetEvent(g_uTimerRes_ms,   //定时间隔
                                1,                //定时精度,单位ms
            (LPTIMECALLBACK) CallBackMilliSecondProc,   //定时回调函数
                                 (DWORD)0,        //回调参数
             TIME_PERIODIC);   //周期性定时标志
if(g<=5)
{     while(1);
      g=g+1;
}
else
{ timeKillEvent(wTimerID);//定时器使用完必须调用函数将定时器关闭
}
}PASCAL CallBackMilliSecondProc(UINT wTimerID,UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2) 
{
..........
            
 }