This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AFE4400 Register Read and Write Issue.

Other Parts Discussed in Thread: AFE4400

I'm debugging AFE4400 register read and write functionality. AFE4400 register write as below code;

uint32_t AFE44xx_Default_Register_Settings[49] = {
0x000000, //Reg0: CONTROL0: CONTROL REGISTER 0

0x001770, //Reg1:REDSTARTCOUNT: SAMPLE RED START COUNT
0x001F3E, //Reg2:REDENDCOUNT: SAMPLE RED END COUNT
0x001770, //Reg3:REDLEDSTARTCOUNT:RED LED START COUNT
0x001F3F, //Reg4:REDLEDENDCOUNT: RED LED END COUNT
0x000000, //Reg5:AMBREDSTARTCOUNT:SAMPLE AMBIENT RED START COUNT
0x0007CE, //Reg6:AMBREDENDCOUNT: SAMPLE AMBIENT RED END COUNT
0x0007D0, //Reg7:IRSTARTCOUNT: SAMPLE IR START COUNT
0x000F9E, //Reg8:IRENDCOUNT: SAMPLE IR END COUNT
0x0007D0, //Reg9:IRLEDSTARTCOUNT: IR LED START COUNT
0x000F9F, //Reg10:IRLEDENDCOUNT: IR LED END COUNT
0x000FA0, //Reg11:AMBIRSTARTCOUNT:SAMPLE AMBIENT IR START COUNT
0x00176E, //Reg12:AMBIRENDCOUNT: SAMPLE AMBIENT IR END COUNT
0x000002, //Reg13:REDCONVSTART: REDCONVST
0x0007CF, //Reg14:REDCONVEND: RED CONVERT END COUNT
0x0007D2, //Reg15:AMBREDCONVSTART:RED AMBIENT CONVERT START COUNT
0x000F9F, //Reg16:AMBREDCONVEND: RED AMBIENT CONVERT END COUNT
0x000FA2, //Reg17:IRCONVSTART: IR CONVERT START COUNT
0x00176F, //Reg18:IRCONVEND: IR CONVERT END COUNT
0x001772, //Reg19:AMBIRCONVSTART: IR AMBIENT CONVERT START COUNT
0x001F3F, //Reg20:AMBIRCONVEND: IR AMBIENT CONVERT END COUNT

0x000000, //Reg21:ADCRESETSTCOUNT0: ADC RESET 0 START COUNT
0x000000, //Reg22:ADCRESETENDCOUNT0: ADC RESET 0 END COUNT
0x0007D0, //Reg23:ADCRESETSTCOUNT1: ADC RESET 1 START COUNT
0x0007D0, //Reg24:ADCRESETENDCOUNT1: ADC RESET 1 END COUNT
0x000FA0, //Reg25:ADCRESETENDCOUNT2: ADC RESET 2 START COUNT
0x000FA0, //Reg26:ADCRESETENDCOUNT2: ADC RESET 2 END COUNT
0x001770, //Reg27:ADCRESETENDCOUNT3: ADC RESET 3 START COUNT
0x001770, //Reg28:ADCRESETENDCOUNT3: ADC RESET 3 END COUNT

0x001F3F, //Reg29:PRPCOUNT: PULSE REPETITION PERIOD COUNT

0x000101, //Reg30:CONTROL1: CONTROL REGISTER 1

0x000000, //Reg31:?: ??
0x000000, //Reg32:TIAGAIN: TRANS IMPEDANCE AMPLIFIER GAIN SETTING REGISTER
0x000005, //Reg33:TIA_AMB_GAIN: TRANS IMPEDANCE AAMPLIFIER AND AMBIENT CANELLATION STAGE GAIN
0x011414, //Reg34:LEDCNTRL: LED CONTROL REGISTER
0x020100, //Reg35:CONTROL2: CONTROL REGISTER 2
0x000000, //Reg36:?: ??
0x000000, //Reg37:?: ??
0x000000, //Reg38:?: ??
0x000000, //Reg39:?: ??
0x000000, //Reg40:: ??
0x000000, //Reg41:ALARM: ??

0x000000, //Reg42:REDVALUE: RED DIGITAL SAMPLE VALUE
0x000000, //Reg43:AMBREDVALUE: Ambient RED Digital Sample Value
0x000000, //Reg44:IRVALUE: IR Digital Sample Value
0x000000, //Reg45:AMBIRVALUE: Ambient IR Digital Sample Value
0x000000, //Reg46:RED-AMBREDVALUE: RED-AMBIENT RED DIGITAL SAMPLE VALUE
0x000000, //Reg47:IR-AMBIRVALUE: IR-AMBIENT IR DIGITAL SAMPLE VALUE

0x000000 //Reg48:DIGNOSTICS: DIAGNOSTICS FLAGS REGISTER
};

for (i=0; i<49; i++)
{
_afe4400_set_reg(i, AFE44xx_Default_Register_Settings[i]);
}

the LED is turned on; and seems the registers are written correctly.  And I tried to read the register value with below code segment;

_afe4400_set_reg(0, 0x000001);

for (i=42; i<44; i++)
{
_afe4400_get_reg(i);

}

The registers can NOT be read out correctly. Anybody shall give me some advices? Thanks in advance!!