tmrctr
Vitis Drivers API Documentation
 All Data Structures Files Functions Variables Typedefs Groups Pages
xtmrctr_fast_intr_example.c File Reference

Overview

This file contains a design example using the timer counter driver (XTmCtr) and hardware device using fast interrupt mode.This example assumes that the interrupt controller is also present as a part of the system.

 MODIFICATION HISTORY:
 Ver   Who  Date         Changes


1.00a bss 07/31/12 First release 4.2 ms 01/23/17 Added xil_printf statement in main function to ensure that "Successfully ran" and "Failed" strings are available in all examples. This is a fix for CR-965028. 4.5 mus 07/05/18 Updated example to call TmrCtrDisableIntr function with correct arguments. Presently device id is being passed instead of interrupt id. It fixes CR#1006251. 4.5 mus 07/05/18 Fixed checkpatch errors and warnings. 4.12 ml 12/07/23 Make TimerExpired as a static variable. 4.12 mus 03/25/24 Update RESET_VALUE to reduce extecution time to 1 seconds. 4.15 bdk 12/08/25 Updated comments to support SDT flow for Doxygen documentation.

#include "xtmrctr.h"
#include "xil_exception.h"
#include "xil_printf.h"
#include "xparameters.h"
#include "xinterrupt_wrap.h"

Functions

int TmrCtrFastIntrExample (XTmrCtr *TmrCtrInstancePtr, UINTPTR BaseAddr, u8 TmrCtrNumber)
 This function does a minimal test on the timer counter device and driver as a design example. More...
 
int main (void)
 This is the main function of the Tmrctr example using Fast Interrupt feature in MicroBlaze and Intc controller. More...
 

Function Documentation

int main ( void  )

This is the main function of the Tmrctr example using Fast Interrupt feature in MicroBlaze and Intc controller.

Parameters
None.
Returns
- XST_SUCCESS to indicate success.
  • XST_FAILURE to indicate a failure.
Note
None.

References TmrCtrFastIntrExample().

int TmrCtrFastIntrExample ( XTmrCtr TmrCtrInstancePtr,
UINTPTR  BaseAddr,
u8  TmrCtrNumber 
)

This function does a minimal test on the timer counter device and driver as a design example.

The purpose of this function is to illustrate how to use the XTmrCtr component. It initializes a timer counter and then sets it up in compare mode with auto reload such that a periodic interrupt is generated.

This function uses interrupt driven mode of the timer counter.

Parameters
TmrCtrInstancePtris a pointer to the XTmrCtr driver Instance
BaseAddris the base address of the XTmrCtr device.
TmrCtrNumberis the number of the timer to which this handler is associated with.
Returns
  • XST_SUCCESS if the Test is successful
  • XST_FAILURE if the Test is not successful
Note
In XSCT/classic flow, DeviceId is used to look up the device configuration. This function contains an infinite loop such that if interrupts are not working it may never return.

References XTmrCtr::Config, XTmrCtr_Initialize(), XTmrCtr_SelfTest(), XTmrCtr_SetHandler(), XTmrCtr_SetOptions(), XTmrCtr_SetResetValue(), XTmrCtr_Start(), and XTmrCtr_Stop().

Referenced by main().