Helloworld C
Helloworld C
Helloworld C
/*
* helloworld.c: simple test application
*/
#include <stdio.h>
#include "platform.h"
#include "xadcps.h"
#include "xgpiops.h"
#include "xil_types.h"
#define XPAR_AXI_XADC_0_DEVICE_ID 0
#define ledpin 47
#define pbsw 51
#define LED_DELAY 10000000
//void print(char *str);
int main()
{
XAdcPs_Config *ConfigPtr;
XAdcPs *XADCInstPtr = &XADCMonInst;
int Status;
int delay;
u32 sw;
int toggle;
XGpioPs_Config *GPIOConfigPtr;
//status of initialisation
int Status_ADC;
//temperature readings
u32 TempRawData;
float TempData;
//Vbram readings
u32 VBramRawData;
float VBramData;
//VccPInt readings
u32 VccPIntRawData;
float VccPIntData;
//VccPAux readings
u32 VccPAuxRawData;
float VccPAuxData;
//Vddr readings
u32 VDDRRawData;
float VDDRData;
init_platform();
//GPIO Initilization
GPIOConfigPtr = XGpioPs_LookupConfig(XPAR_XGPIOPS_0_DEVICE_ID);
Status = XGpioPs_CfgInitialize(&Gpio, GPIOConfigPtr,GPIOConfigPtr->BaseAddr);
if (Status != XST_SUCCESS) {
print("GPIO INIT FAILED\n\r");
return XST_FAILURE;
}
//XADC initilization
ConfigPtr = XAdcPs_LookupConfig(XPAR_AXI_XADC_0_DEVICE_ID);
if (ConfigPtr == NULL) {
return XST_FAILURE;
}
Status_ADC = XAdcPs_CfgInitialize(XADCInstPtr,ConfigPtr,ConfigPtr-
>BaseAddress);
if(XST_SUCCESS != Status_ADC){
print("ADC INIT FAILED\n\r");
return XST_FAILURE;
}
//self test
Status_ADC = XAdcPs_SelfTest(XADCInstPtr);
if (Status_ADC != XST_SUCCESS) {
return XST_FAILURE;
}
//stop sequencer
XAdcPs_SetSequencerMode(XADCInstPtr,XADCPS_SEQ_MODE_SINGCHAN);
//disable alarms
XAdcPs_SetAlarmEnables(XADCInstPtr, 0x0);
while(1){
sw = XGpioPs_ReadPin(&Gpio, pbsw);
if (sw == 1) {
toggle = !toggle;
}
printf("switch value %lu \n\r",sw);
XGpioPs_WritePin(&Gpio, ledpin, toggle);
return 0;
}