beautypg.com

An118 – Cirrus Logic AN118 User Manual

Page 15

background image

AN118

AN118REV2

15

case 0x11: /* Offset Register Physical Channel 2 */
case 0x21: /* Offset Register Physical Channel 3 */
case 0x31: /* Offset Register Physical Channel 4 */
case 0x41: /* Offset Register Physical Channel 5 */
case 0x51: /* Offset Register Physical Channel 6 */
case 0x61: /* Offset Register Physical Channel 7 */
case 0x71: /* Offset Register Physical Channel 8 */

case 0x02: /* Gain Register Physical Channel 1 */
case 0x12: /* Gain Register Physical Channel 2 */
case 0x22: /* Gain Register Physical Channel 3 */
case 0x32: /* Gain Register Physical Channel 4 */
case 0x42: /* Gain Register Physical Channel 5 */
case 0x52: /* Gain Register Physical Channel 6 */
case 0x62: /* Gain Register Physical Channel 7 */
case 0x72: /* Gain Register Physical Channel 8 */

case 0x03: /* Configuration Register */

low_byte = RXSER(); /*Receive data low byte first*/
mid_byte = RXSER();
high_byte = RXSER();
COMM = 0x00; /* Turn on LED */
Delay();
COMM = 0x01;

/* Turn off LED */

write_to_register(command,low_byte,mid_byte,high_byte);
break;

/*****************************/
/* Write Channel-Setup Registers */
/*****************************/
case 0x05:

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

low_byte = RXSER();

/* Receive Data */

mid_byte = RXSER();
high_byte = RXSER();
transfer_byte(high_byte);

/* Transfer Data to A/D */

transfer_byte(mid_byte);
transfer_byte(low_byte);

} /* END for loop */
if(mode == 1) P1 = 0xF5;

/* Set CSb */

COMM = 0x01;

/* Turn off LED*/

break;