0

I need to use a timer on my C program on SDK. I'm using Atlys Spartan-6 LX45 and I try to use this code:

XTmrCtr TmrCtrInstancePtr;
time1 = XTmrCtr_GetValue(&TmrCtrInstancePtr, 0);
XTmrCtr_Start(&TmrCtrInstancePtr, 0);
//Code
 XTmrCtr_Stop(&TmrCtrInstancePtr, 0);
time2 = XTmrCtr_GetValue(&TmrCtrInstancePtr, 0);
time3=time2-time1;

When I debug the program it hangs and I don't get any result. How to use a timer?

Qiu
  • 5,651
  • 10
  • 49
  • 56
arrow man
  • 51
  • 2
  • 11

1 Answers1

0

You need to initialize your timer before using it.

XTmrCtr TmrCtrInstance; /* It's not a pointer, so no ptr suffix... */

if (XTmrCtr_Initialize(&TmrCtrInstance, XPAR_AXI_TIMER_0_DEVICE_ID) != XST_SUCCESS) { /* Your ID may be different */
    /* Stop execution */
    return;
}

time1 = XTmrCtr_GetValue(&TmrCtrInstance, 0);
...
Jonathan Drolet
  • 3,318
  • 1
  • 12
  • 23