targets/Win32/plc_Win32_main.c
changeset 685 2db8b87016a0
parent 681 383864958dac
child 709 fe65601bd983
equal deleted inserted replaced
684:d376a8b0b602 685:2db8b87016a0
    36 {
    36 {
    37 	LARGE_INTEGER liDueTime;
    37 	LARGE_INTEGER liDueTime;
    38 	/* arg 2 of SetWaitableTimer take 100 ns interval*/
    38 	/* arg 2 of SetWaitableTimer take 100 ns interval*/
    39 	liDueTime.QuadPart =  next / (-100);
    39 	liDueTime.QuadPart =  next / (-100);
    40 
    40 
    41 	if (!SetWaitableTimer(PLC_timer, &liDueTime, period/1000000, NULL, NULL, 0))
    41 	if (!SetWaitableTimer(PLC_timer, &liDueTime, period<1000000?1:period/1000000, NULL, NULL, 0))
    42     {
    42     {
    43         printf("SetWaitableTimer failed (%d)\n", GetLastError());
    43         printf("SetWaitableTimer failed (%d)\n", GetLastError());
    44     }
    44     }
    45 }
    45 }
    46 
    46 
   114         return;
   114         return;
   115     }
   115     }
   116 
   116 
   117 
   117 
   118     /* Create a waitable timer */
   118     /* Create a waitable timer */
       
   119     timeBeginPeriod(1);
   119     PLC_timer = CreateWaitableTimer(NULL, FALSE, "WaitableTimer");
   120     PLC_timer = CreateWaitableTimer(NULL, FALSE, "WaitableTimer");
   120     if(NULL == PLC_timer)
   121     if(NULL == PLC_timer)
   121     {
   122     {
   122         printf("CreateWaitableTimer failed (%d)\n", GetLastError());
   123         printf("CreateWaitableTimer failed (%d)\n", GetLastError());
   123         return 1;
   124         return 1;