| rtcpsu Vitis Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

Functions
xrtcpsu_seconds_interrupt_example.c File Reference

## Overview

This file contains an seconds example using the XRtcPsu driver in interrupt mode.

Note
  In the example,if interrupts are not working it may hang.

MODIFICATION HISTORY:

    Ver   Who    Date     Changes

    1.00  kvn 05/12/15 First Release
          ms  04/10/17 Modified filename tag to include the file in doxygen
                       examples.
    1.12    sne 04/25/22 Added volatile keyword for Seconds variable.
    1.13    ht  06/21/23 Added support for system device-tree flow.
    1.15  ht  12/13/24 Fix C++ compilation warnings and errors in SDT flow.

## Functions
int | RtcPsuSecondsIntrExample (XScuGic *IntcInstPtr, XRtcPsu *RtcInstPtr, u16 DeviceId, u16 RtcIntrId)
| This function does a minimal test on the Rtc device and driver as a design example. More...
void | Handler (void *CallBackRef, u32 Event)
| This function is the handler which performs processing to handle interrupt events from the device. More...
int | main (void)
| Main function to call the RTC Seconds interrupt example. More...

## Function Documentation

void Handler | ( | void * | CallBackRef,
|  | u32 | Event
| ) |  |

This function is the handler which performs processing to handle interrupt events from the device.

It is called from an interrupt context. so the amount of processing should be minimal.

This handler provides an example of how to handle interrupt data for the device and is application specific.

Parameters

  CallBackRef | contains a callback reference from the driver, in this case it is the instance pointer for the XRtcPsu driver.
  Event | contains the specific kind of event that has occurred.

Returns
  None.

Note
  None.

int main | ( | void |  | ) |

Main function to call the RTC Seconds interrupt example.

Returns
  XST_SUCCESS if successful, XST_FAILURE if unsuccessful

Note
  None

References RtcPsuSecondsIntrExample().

int RtcPsuSecondsIntrExample | ( | XScuGic * | IntcInstPtr,
|  | XRtcPsu * | RtcInstPtr,
|  | u16 | DeviceId,
|  | u16 | RtcIntrId
| ) |  |

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

The purpose of this function is to illustrate how to seconds feature is available in the XRtcPsu driver.

This function shows the seconds interrupt feature..

Parameters

  IntcInstPtr | is a pointer to the instance of the ScuGic driver.
  RtcInstPtr | is a pointer to the instance of the RTC driver which is going to be connected to the interrupt controller.
  DeviceId | is the device Id of the RTC device and is typically XPAR_<RTCPSU_instance>_DEVICE_ID value from xparameters.h.
  RtcIntrId | is the interrupt Id and is typically XPAR_<RTCPSU_instance>_INTR value from xparameters.h.

Returns
  XST_SUCCESS if successful, otherwise XST_FAILURE.

Note

In this function ,if interrupts are not working it may never return.

References XRtcPsu_Config::BaseAddr, Handler(), XRtcPsu_CfgInitialize(), XRtcPsu_ClearInterruptMask(), XRtcPsu_InterruptHandler(), XRtcPsu_LookupConfig(), XRtcPsu_SelfTest(), XRtcPsu_SetHandler(), and XRtcPsu_SetInterruptMask().

Referenced by main().