Как активировать таймер на SDK?

Мне нужно использовать таймер на моей C-программе на SDK. Я использую 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;

Когда я отлаживаю программу, она зависает, и я не получаю никакого результата. Как использовать таймер?

1 ответ

Вы должны инициализировать свой таймер перед его использованием.

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);
...
Другие вопросы по тегам