/* Main reading loop */ for(i=0;i<num_in_chan;i++){ /* Set trigger to 1 */ outb((unsigned char)(0x3+(0x10*i)), PC30AT_BASE+PORT_C30AT); /* Set trigger to 0 to start conversion. * At the same time, the next * channel to convert is set up*/ outb((unsigned char)(0x2+(0x10*(i+1 % num_in_chan))),PC30AT_BASE+PORT_C30AT); /* Wait until conversion has finished */ while (((inb(PC30AT_BASE+PORT_B30AT))& (0x20))==0); /* Read the converted data to the character * buffer in two bytes */ current_adc[i].byte[0]=inb(PC30AT_BASE+PORT_A30AT); current_adc[i].byte[1]=(inb(PC30AT_BASE+PORT_B30AT) &0x0f); }