equal
deleted
inserted
replaced
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; |