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

Overview

Contains an example of how to use the XCanPs driver directly.

This example shows the using the driver/device in polled mode.

Note

None.

MODIFICATION HISTORY:
Ver   Who    Date       Changes


1.00a xd/sv 01/12/10 First release 2.1 adk 23/08/14 Fixed CR:798792 Peripheral test for CANPS IP in SDK claims a 40kbps baud rate but it's not. 3.7 ht 06/28/23 Added support for system device-tree flow. ht 07/10/23 Added support for peripheral test in SDT flow. 3.8 rma 01/12/23 Update example code to fix compilation warnings. 3.8 ht 01/19/24 Update example to fix peripheral test compilation warnings and example compilation failure in SDT flow 3.12 vlt 12/17/25 Update Doxygen comments to include SDT flow details.

#include "xcanps.h"
#include "xparameters.h"
#include "xil_printf.h"

Functions

int CanPsPolledExample (XCanPs *CanInstancePtr, UINTPTR BaseAddress)
 The entry point for showing the XCanPs driver in polled mode. More...
 
int main (void)
 This function is the main function of the Can polled example. More...
 

Function Documentation

int CanPsPolledExample ( XCanPs CanInstancePtr,
UINTPTR  BaseAddress 
)

The entry point for showing the XCanPs driver in polled mode.

The example configures the device for internal loop back mode, then sends a Can frame, receives the same Can frame, and verifies the frame contents.

Parameters
BaseAddresscontains the base address of the device
Returns
XST_SUCCESS if successful, otherwise driver-specific error code.
Note
- In XSCT/classic flow, DeviceId is used to look up the device configuration.
  • If the device is not working correctly, this function may enter an infinite loop and will never return to the caller.

References XCanPs_Config::BaseAddr, XCanPs_CfgInitialize(), XCanPs_EnterMode(), XCanPs_GetMode(), XCanPs_LookupConfig(), XCANPS_MODE_CONFIG, XCANPS_MODE_LOOPBACK, XCanPs_SelfTest(), XCanPs_SetBaudRatePrescaler(), and XCanPs_SetBitTiming().

Referenced by main().

int main ( void  )

This function is the main function of the Can polled example.

Returns
  • XST_SUCCESS if the example has completed successfully.
  • XST_FAILURE if the example has failed.
Note
None

References CanPsPolledExample().