63 #include "xbasic_types.h"
70 #define INTC_DEVICE_INT_ID 91 //interrupt ID for the AXI_MAX11046 IP core defined in the XPS
72 static void ReadADCHandler(
void *CallBackRef);
87 u32
start_sampling(u32 unSampleSize,
int nSampleRate, u16 *auSamplesCh0, u16 *auSamplesCh1, u16 *auSamplesCh2, u16 *auSamplesCh3, u16 *auSamplesCh4, u16 *auSamplesCh5, u16 *auSamplesCh6, u16 *auSamplesCh7)
109 else if(nSampleRate==4)
111 else if(nSampleRate==3)
113 else if(nSampleRate==2)
115 else if(nSampleRate==1)
117 else if(nSampleRate==0)
131 XScuGic InterruptController;
200 printf(
"Press the ESC key to stop sampling\n\n");
206 printf(
"Channel %i\n",Channel);
208 printf(
"Ch 0, Ch 1, Ch 2, Ch 3, Ch 4, Ch 5, Ch 6, Ch 7\n");
218 while(uchInput!=0x1B)
224 printf(
"%i\n", uSample[0]);
228 if((Xil_In32(XPAR_PS7_UART_1_BASEADDR+0x2C) & 0x02) == 0)
229 uchInput = Xil_In32(XPAR_PS7_UART_1_BASEADDR+0x30);
235 printf(
"%i, %i, %i, %i, %i, %i, %i, %i\n", uSample[0], uSample[1], uSample[2], uSample[3], uSample[4], uSample[5], uSample[6], uSample[7]);
239 if((Xil_In32(XPAR_PS7_UART_1_BASEADDR+0x2C) & 0x02) == 0)
240 uchInput = Xil_In32(XPAR_PS7_UART_1_BASEADDR+0x30);
257 XScuGic_Config *GicConfig;
259 GicConfig = XScuGic_LookupConfig(XPAR_SCUGIC_SINGLE_DEVICE_ID);
260 if (NULL == GicConfig) {
264 nStatus = XScuGic_CfgInitialize(IntcInstancePtr, GicConfig,
265 GicConfig->CpuBaseAddress);
266 if (nStatus != XST_SUCCESS) {
274 nStatus = XScuGic_SelfTest(IntcInstancePtr);
275 if (nStatus != XST_SUCCESS) {
283 Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_INT,
284 (Xil_ExceptionHandler) XScuGic_InterruptHandler,
290 Xil_ExceptionEnable();
298 (Xil_ExceptionHandler)ReadADCHandler,
299 (
void *)IntcInstancePtr);
304 void ReadADCHandler(
void *CallBackRef)
359 if((Xil_In32(XPAR_PS7_UART_1_BASEADDR+0x2C) & 0x02) == 0)
361 u8 uchInput = Xil_In32(XPAR_PS7_UART_1_BASEADDR+0x30);