0

我需要在 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;

当我调试程序时它挂起并且我没有得到任何结果。如何使用计时器?

4

1 回答 1

0

您需要在使用计时器之前对其进行初始化。

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);
...
于 2015-05-13T01:06:44.793 回答