#include #include #include #include"a822.h" int Buf[1200]; int Buf2[10000]; void main(void) {int i,j; long AdCount=0; float rate=5.0/2048.0; int DI,DO,AD,DA,count; if (NoError==A822_Initialize(0,0x220,3,5)) { for(i=0;i<10;i++){ DO=i*10; A822_DO(DO); DI=A822_DI(); printf("\nOut=%2x -->In=%2x",DO,DI); } A822_OutputByte(0x22D,0x55); A822_OutputByte(0x22E,0x55); i=A822_InputByte(0x226); j=A822_InputByte(0x227); printf("\n55 --> %x %x",i,j); A822_OutputByte(0x22D,0xAA); A822_OutputByte(0x22E,0xAA); i=A822_InputByte(0x226); j=A822_InputByte(0x227); printf("\nAA --> %x %x",i,j); A822_DA(0,0xfff); A822_AD_SetChGainMode(0,0,POLLING_MODE); A822_Delay(23*2); AD=A822_AD_PollingVar(); printf("\nFFF_0 ADin=0x%3x=%6.3f",AD,rate*(AD-2048)); A822_DA(1,0xfff); A822_AD_SetChGainMode(1,0,POLLING_MODE); A822_Delay(23*2); AD=A822_AD_PollingVar(); printf("\nFFF_1 ADin=0x%3x=%6.3f",AD,rate*(AD-2048)); A822_DA(0,0x800); A822_AD_SetChGainMode(0,0,POLLING_MODE); A822_Delay(23*2); AD=A822_AD_PollingVar(); printf("\n800_0 ADin=0x%3x=%6.3f",AD,rate*(AD-2048)); A822_DA(1,0x800); A822_AD_SetChGainMode(1,0,POLLING_MODE); A822_Delay(23*2); AD=A822_AD_PollingVar(); printf("\n800_1 ADin=0x%3x=%6.3f",AD,rate*(AD-2048)); A822_DA(0,0); A822_AD_SetChGainMode(0,0,POLLING_MODE); A822_Delay(23*2); AD=A822_AD_PollingVar(); printf("\n000_0 ADin=0x%3x=%6.3f",AD,rate*(AD-2048)); A822_DA(1,0); A822_AD_SetChGainMode(1,0,POLLING_MODE); A822_Delay(23*2); AD=A822_AD_PollingVar(); printf("\n000_1 ADin=0x%3x=%6.3f",AD,rate*(AD-2048)); for (j=0;j<5000; j++) A822_Delay(1000*2); /* delay 5 seconds */ A822_AD_SetChGainMode(0,0,POLLING_MODE); for(i=0;i<14;i++){ DA=0xff*i; A822_DA(0,0x100); AD=A822_AD_PollingVar(); for (j=0;j<1000; j++) A822_Delay(1000*2); printf("\nDAout=0x%4x ADin=0x%3x=%6.3f",DA,AD,rate*(AD-2048)); } printf("\nDemo End"); } else printf("Can't Find A822PGL/PGH in 0x220"); }