LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

timer interval

I need to count and add up each each elapsed second in my timer. this seems not to work , it is just outputting 1,1,1,1, ... but I need 1,2,3,4,5.....

 

 

int CVICALLBACK timer1 (int panel, int control, int event,
  void *callbackData, int eventData1, int eventData2)
{
 
 static double    time1;
 double time2;
 double interval = 0;
 
 
 switch (event)
 {
  case EVENT_TIMER_TICK:
   
   
    time1 = *( ( double * ) eventData1 ); // current time

                time2 = *( ( double * ) eventData2 ); // time elapsed since the last EVENT_TIMER_TICK callback.
   
    interval = interval + time2;
    
    printf("ammmmmmm");
    printf("Interval = %.0f",interval);
    
   break;
 }
 return 0;
}

 

 

 

0 Kudos
Message 1 of 3
(2,913 Views)

Well, your variable interval is local: every time the timer callback is called, it is reset to zero -> use a global declaration instead

0 Kudos
Message 2 of 3
(2,909 Views)

Thanks, that helps.

0 Kudos
Message 3 of 3
(2,904 Views)