An118 – Cirrus Logic AN118 User Manual
Page 17

AN118
AN118REV2
17
low_byte = receive_byte();
TXSER(low_byte);
/* Return bytes to PC */
TXSER(mid_byte);
TXSER(high_byte);
}
if (temp1 == 1 ){
do { /* Nothing*/} while (SDO !=0);/* Wait for SDO to fall */
transfer_byte(0xFF);
/* Send all zeros */
for (j=0; j high_byte = receive_byte();/* Receive last conversion */ } /* END for */ } /* END if */ if(mode == 1) P1 = 0xF5; /* Set CSb */ COMM = 0x01; /* Turn off LED */ break; /*****************************/ COMM = 0x00; /* Turn on LED*/ sample_size = RXSER(); /* How many Registers? */ if(mode == 1) P1 = 0xF4; /* Clear CSb */ transfer_byte(command); /* Send command to A/D */ for (j=0; j high_byte = receive_byte();/* Receive Bytes */ /* Transfer data to PC */ TXSER(mid_byte); } /* END for loop */ /* Set CSb */ COMM = 0x01; /* Turn off LED*/ break; /**********************/ */ /**********************/ /* Normal Conversion on Setup 1 */ case 0x88: /* Normal Conversion on Setup 2 */ case 0x90: /* Normal Conversion on Setup 3 */ case 0x98: /* Normal Conversion on Setup 4 */
mid_byte = receive_byte();
low_byte = receive_byte();
/* Read Channel-Setup Registers */
/*****************************/
case 0x0D:
mid_byte = receive_byte();
low_byte = receive_byte();
TXSER(low_byte);
TXSER(high_byte);
if(mode == 1) P1 = 0xF5;
/* Normal Conversions
case 0x80: