/*C31LOOP.C - LOOP PROGRAM WITH AMPLITUDE CONTROL */ #include "aiccomc.c" /*AIC communications routines*/ int AICSEC[4]={0x162C,0x1,0x4892,0x67}; /*AIC setup data */ void main(void) { unsigned int *pAmpt; unsigned int temp; int data_IN, data_OUT, ampt = 1; /*declare variables */ asm(" OR 2000h,ST "); AICSET(); /*initialize AIC */ pAmpt = (unsigned int *)0x809800; do { temp = *pAmpt; /*pAmpt is pointer to value from host*/ if (temp > 0 && temp < 11) ampt=temp; /*temp is attenuation value*/ data_IN = UPDATE_SAMPLE(data_OUT); /*input sample */ data_OUT = data_IN / ampt; /*scale input to output */ } while (1); /*endless loop */ }