如何激活SDK上的计时器



我需要在SDK上的C程序上使用计时器。我正在使用Atlys spartan-6 LX45,我尝试使用此代码:

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

当我调试程序时,它将挂起,我没有任何结果。如何使用计时器?

您需要先初始化计时器。

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);
...

最新更新