Error FIFO FXLS8471

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Error FIFO FXLS8471

5,286 次查看
carloscanal
Contributor II

I'm working with a FXLS8471 sensor with SPI.
My problem is that the reading of the 32  measurements of the FIFO  does not coincide with the reading of the acceleration in the three axes. The sensor interrupted by filling the FIFO but when I try to read the 192 bytes in burst mode, the answer is incomprehensible.
Thank you

 

Carlos Canal

标签 (1)
5 回复数

4,614 次查看
anthonyduhamel
NXP Employee
NXP Employee

Hello Carlos,

Can you share your FXLS8471 configuration?
I also would like to take a look at your drain function which empty the FIFO.

Here my configuration if you want to compare:

// CONFIG

#define FXLS8471Q_CTRL_REG1        0x2A

#define FXLS8471Q_CTRL_REG2        0x2B

#define FXLS8471Q_CTRL_REG3        0x2C

#define FXLS8471Q_CTRL_REG4        0x2D

#define FXLS8471Q_CTRL_REG5        0x2E

#define FXLS8471Q_XYZ_DATA_CFG     0x0E

// ID

#define FXLS8471Q_WHO_AM_I         0x0D

#define FXLS8471Q_WHO_AM_I_VAL     0x6A

// FIFO

#define FXLS8471Q_F_SETUP          0x09

#define FXLS8471Q_F_STATUS         0x00

bool FXLS8471Q::vInit()

{

    bool __b_result=false;

    uint8_t __u8_temp=0xFF;

    /* Check presence of the sensor to prevent SPI issues*/

    if(bRead(FXLS8471Q_WHO_AM_I,&__u8_temp,1))  

    if(__u8_temp == FXLS8471Q_WHO_AM_I_VAL)      //Check Sensor ID answer

  

    /* Confugre the sensor */

    if(bWrite(FXLS8471Q_CTRL_REG1  ,0x0))        //Standby mode

    if(bWrite(FXLS8471Q_XYZ_DATA_CFG,0x2))        //0.976mg/LSB  

  

    /* Configure the FIFO */

    if(bWrite(FXLS8471Q_F_SETUP    ,0x80))      // FIFO mode2 : stops accepting new samples when overflowed

  

    /* Configure the FIFO interrupt */

    if(bWrite(FXLS8471Q_CTRL_REG3  ,0x82))      // FIFO, interrupt active high (rising event)

    if(bWrite(FXLS8471Q_CTRL_REG4  ,0x40))      // FIFO interrupt enabled

    if(bWrite(FXLS8471Q_CTRL_REG5  ,0x40))      // FIFO interrupt pin routed to INT1

    if(bWrite(FXLS8471Q_CTRL_REG1  ,0x11))      //Set ODR to 400Hz & active mode

    {

        __b_result= true;

    }

                                      

    return __b_result;

}

#define FXLS8471Q_OUT_X_MSB         0x01

bool FXLS8471Q::bGetFIFOAccelData(int16_t __aai16_AccelData[32][3])

{

    uint8_t __au8_Buffer[192];

    int16_t __i16_SingleData;

    uint8_t __u8_i,__u8_j;

    bool __b_result;

    if(__b_result = bRead(FXLS8471Q_OUT_X_MSB,(uint8_t*)__au8_Buffer,192))

    {

        for(__u8_i=0;__u8_i<32;__u8_i++)

        {

            for(__u8_j=0;__u8_j<3;__u8_j++)

             {

            __i16_SingleData = (int16_t)( (__au8_Buffer[__u8_j*2+__u8_i*6]<<8) + __au8_Buffer[__u8_j*2+__u8_i*6+1]);

             __aai16_AccelData[__u8_i][__u8_j] =  (int16_t)( ((float)__i16_SingleData)/4.0);

            }  

        }

     

    }

    return __b_result;

}

Give me more information about your issues.

Thanks,

Anthony

4,614 次查看
carloscanal
Contributor II

Hello Anthony:
Thank you very much for your cooperation.
This weekend I report my code and put it on this page.
I have the following question: Can use a 800 Hz ODR to work with FIFO?
Thank you very much and best regards

Carlos Canal

0 项奖励

4,612 次查看
anthonyduhamel
NXP Employee
NXP Employee

Hello Carlos,

Yes, the FIFO works with a 800Hz data rate. You just have to configure the CTRL_REG1 register by resetting the dr[0:2] field (to 0b000) .

I attached an application note about FIFO uses in the motion sensors if you want to take a look at.

Have a good day.

Anthony

0 项奖励

4,612 次查看
carloscanal
Contributor II

Hello Anthony:

I do not get properly read accelerations 32 records stored in the FIFO.

For example, a reading of the acceleration of the three axes is:   FF  E0 FD  70  40  E8

Where axis X reading is = FF E0 (AX=0.0024g), axis Y=FD 70 (Ay=-0.0518g) and axis Z= 40 E8 (Az=0.9995g)

The following data correspond to a reading of the FIFO

For example, axis X =7E  D8 , axis Y =20 60  and axis Z =00 40
7E  D8 20  60  00  40         7E  B8  20  38 00  34          7E D8  20  B8 00  30      7E D8  20  4C 00  18      7E E8  20  90 00  34         7E  F8 20  64  00 18

7E F4  20  40 00  3C          7E  F4  20  30 00  10          7E  D8  20  78  00 3C     7E C0  20  50 7F  F8      7E D0  20  40 00  44         7E  B0 20  6C  00 44

7E  E0 20  50  00 38          7E F0  20  7C 00  08           7E  E0  20  38 00  00      7E  D8 20  50  00  18      7E C0  20  5C 00  10        7E  E0 20  74  00 18

  7E E0  20  7C 00  10         7E  D8 20  90  00 10            7E  F0 20  30  00 30       7E E0  20  30  00  38      7E E8  20  60 00  44        7E  E8 20 58  00  2C

  7E  E0 20  54  00 3C         7E F4  20  88 00  58            7E D8  20  60 00  2C      7E  B8 20  6C  00 38      7E  A8 20  64  00 20         7E A8  20  64 00  44

   7E D0  20  60 00  04         7E  E0 20  58  00 7C 

La function para leer los 192 bytes es la siguiente:

void IMUREAD2(char reg1, int count, unsigned char array[]){

unsigned int i;

unsigned char value;

unsigned  char dire, dire1;

dire =reg1 &0x7F;

dire1= reg1 &0x80;

CS_FX=0;

WByteSPI1(dire);

WByteSPI1(dire1);

                for(i = 0; i < count; i++){

                               array[i]=RByteSPI1();//

                               }

Nop();

CS_FX=1;

return;

                }

Thank you very much and best regards

Carlos Canal

0 项奖励

4,612 次查看
anthonyduhamel
NXP Employee
NXP Employee

Hello Carlos,

Here some suggestions & feedbacks:

"Where axis X reading is = FF E0 (AX=0.0024g), axis Y=FD 70 (Ay=-0.0518g) and axis Z= 40 E8 (Az=0.9995g)"

Regarding your conversion, AX should be negative FFE0 (hex) = -32 signed 16 bits) = -32/2² = -4 (signed 14bits)  = -4*sensitivity (g or mg).

About your reading function, it seems good, I've got:

bool FXLS8471Q::bRead(uint8_t __u8_register, uint8_t* __au8_OutValue,uint8_t __u8_length)

{

    bool __b_result = false;

    uint8_t __u8_i;

   

    _t_cs = 0;

   

    _t_spi.write(  (__u8_register&0x7F) | (0x0<<7) ) ;

    _t_spi.write(__u8_register&0x80);

    for(__u8_i=0;__u8_i<__u8_length;__u8_i++)

    {

        __au8_OutValue[__u8_i] =  _t_spi.write(0x00) ;

    }

    _t_cs   =   1;

  

    __b_result = true;

    return __b_result;

}

but again, check your conversion...

Are you sure the FIFO is enabled? How did you configure the sensor?

Thanks,

Anthony

0 项奖励
%3CLINGO-SUB%20id%3D%22lingo-sub-468682%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E9%94%99%E8%AF%AF%20FIFO%20FXLS8471%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-468682%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20lang%3D%22EN%22%20style%3D%22font-size%3A%2012.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%E5%B8%A6%E6%9C%89%20SPI%20%E7%9A%84%20FXLS8471%20%E4%BC%A0%E6%84%9F%E5%99%A8%E3%80%82%3CBR%20%2F%3E%E6%88%91%E7%9A%84%E9%97%AE%E9%A2%98%E6%98%AF%EF%BC%8CFIFO%20%E4%B8%AD%2032%20%E4%B8%AA%E6%B5%8B%E9%87%8F%E5%80%BC%E7%9A%84%E8%AF%BB%E6%95%B0%E4%B8%8E%E4%B8%89%E4%B8%AA%E8%BD%B4%E7%9A%84%E5%8A%A0%E9%80%9F%E5%BA%A6%E8%AF%BB%E6%95%B0%E4%B8%8D%E4%B8%80%E8%87%B4%E3%80%82%E4%BC%A0%E6%84%9F%E5%99%A8%E5%9B%A0%E5%A1%AB%E5%85%85%20FIFO%20%E8%80%8C%E4%B8%AD%E6%96%AD%EF%BC%8C%E4%BD%86%E6%98%AF%E5%BD%93%E6%88%91%E5%B0%9D%E8%AF%95%E5%9C%A8%E7%AA%81%E5%8F%91%E6%A8%A1%E5%BC%8F%E4%B8%8B%E8%AF%BB%E5%8F%96%20192%20%E5%AD%97%E8%8A%82%E6%97%B6%EF%BC%8C%E7%AD%94%E6%A1%88%E9%9A%BE%E4%BB%A5%E7%90%86%E8%A7%A3%E3%80%82%3CBR%20%2F%3E%E8%B0%A2%E8%B0%A2%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22min-height%3A%208pt%3B%20padding%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E5%8D%A1%E6%B4%9B%E6%96%AF-%E5%8D%A1%E7%BA%B3%E5%B0%94%20%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-468682%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3E%E6%99%BA%E8%83%BD%E4%BC%A0%E6%84%9F%E6%8A%80%E6%9C%AF%E6%A1%86%E6%9E%B6%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-468687%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Error%20FIFO%20FXLS8471%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-468687%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%E5%8D%A1%E6%B4%9B%E6%96%AF%E3%80%81%3C%2FP%3E%3CP%3E%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%BA%9B%E5%BB%BA%E8%AE%AE%26amp%3B%20%E5%8F%8D%E9%A6%88%EF%BC%9A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CEM%3E%3CSPAN%20class%3D%22hps%22%20style%3D%22font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%20color%3A%20%2351626f%3B%22%3E%22%E5%85%B6%E4%B8%AD%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%22%3E%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%20style%3D%22font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%20color%3A%20%2351626f%3B%22%3E%E8%BD%B4%20X%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%22%3E%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%20style%3D%22font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%20color%3A%20%2351626f%3B%22%3E%E8%AF%BB%E6%95%B0%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%22%3E%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%20style%3D%22font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%20color%3A%20%2351626f%3B%22%3E%E4%B8%BA%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%22%3E%3D%20FF%20E0%EF%BC%88AX%3D0.0024g%EF%BC%89%EF%BC%8C%E8%BD%B4%20Y%3DFD%2070%EF%BC%88Ay%3D-0.0518g%EF%BC%89%EF%BC%8C%E8%BD%B4%20Z%3D%2040%20E8%EF%BC%88Az%3D0.9995g%EF%BC%89%E3%80%82%22%3C%2FSPAN%3E%3C%2FEM%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%22%3E%E8%BD%AC%E6%8D%A2%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%22%3E%E5%9C%A8%E8%BF%9B%E8%A1%8C%E8%BD%AC%E6%8D%A2%E6%97%B6%EF%BC%8CAX%20%E5%BA%94%E4%B8%BA%E8%B4%9F%E6%95%B0%20FFE0%EF%BC%88%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6%EF%BC%89%3D-32%EF%BC%8816%20%E4%BD%8D%E5%B8%A6%E7%AC%A6%E5%8F%B7%EF%BC%89%3D-32%2F2%C2%B2%20%3D-4%EF%BC%8814%20%E4%BD%8D%E5%B8%A6%E7%AC%A6%E5%8F%B7%EF%BC%89%3D-4*%E7%81%B5%E6%95%8F%E5%BA%A6%EF%BC%88g%20%E6%88%96%20mg%EF%BC%89%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%2351626f%3B%20font-family%3A%20arial%2C%20helvetica%2C%20'helvetica%20neue'%2C%20verdana%2C%20sans-serif%3B%22%3E%E5%85%B3%E4%BA%8E%E6%82%A8%E7%9A%84%E9%98%85%E8%AF%BB%E5%8A%9F%E8%83%BD%EF%BC%8C%E6%88%91%E8%A7%89%E5%BE%97%E8%BF%98%E4%B8%8D%E9%94%99%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22jive_macro_code%20jive_text_macro%20_jivemacro_uid_14512369879452619%22%20data-renderedposition%3D%22176_8_1232_320%22%20jivemacro_uid%3D%22_14512369879452619%22%3E%3CP%3Ebool%20FXLS8471Q%3A%3AbRead(uint8_t%20__u8_register%2C%20uint8_t*%20__au8_OutValue%2Cuint8_t%20__u8_length)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3E%20%20%20%20bool%20__b_result%20%3D%20false%EF%BC%9B%3C%2FP%3E%3CP%3E%20%20%20%20uint8_t%20__u8_i%EF%BC%9B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%3E%20%20%20%20_t_cs%20%3D%200%EF%BC%9B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%3E%20%20%20%20_t_spi.write(%20(__u8_register%26amp%3B0x7F)%20%7C%20(0x0%26lt%3B%26lt%3B%207)%20)%20%EF%BC%9B%3C%2FP%3E%3CP%3E%20%20%20%20_t_spi.write(__u8_register%26amp%3B0x80)%EF%BC%9B%3C%2FP%3E%3CP%3E%20%20%20%20for(__u8_i%3D0%3B__u8_i%26lt%3B__u8_length%3B__u8_i%2B%2B)%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%20%20%20%20%20%20%20%20__au8_OutValue%5B__u8_i%5D%20%3D%20_t_spi.write(0x00)%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%20%20%20%20_t_cs%20%3D%201%EF%BC%9B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%3E%20%20%20%20__b_result%20%3D%20true%EF%BC%9B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%20%20%20%20return%20__b_result%EF%BC%9B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3C%2FPRE%3E%3CP%3E%3C%2FP%3E%3CP%3E%E4%BD%86%E8%AF%B7%E5%86%8D%E6%AC%A1%E6%A3%80%E6%9F%A5%E6%82%A8%E7%9A%84%E8%BD%AC%E6%8D%A2...%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E6%82%A8%E7%A1%AE%E5%AE%9A%20FIFO%20%E5%B7%B2%E5%90%AF%E7%94%A8%E5%90%97%EF%BC%9F%E6%82%A8%E6%98%AF%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E4%BC%A0%E6%84%9F%E5%99%A8%E7%9A%84%EF%BC%9F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%3CP%3E%E5%AE%89%E4%B8%9C%E5%B0%BC%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-468686%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Error%20FIFO%20FXLS8471%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-468686%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%3CSPAN%20class%3D%22hps%22%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E%E5%AE%89%E4%B8%9C%E5%B0%BC%3C%2FSPAN%3E%EF%BC%9A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22hps%22%3E%E6%88%91%E6%97%A0%E6%B3%95%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20%E6%AD%A3%E7%A1%AE%E8%AF%BB%E5%8F%96%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20%E5%AD%98%E5%82%A8%E5%9C%A8%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20FIFO%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20%E4%B8%AD%E7%9A%84%2032%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20%E6%9D%A1%E8%AE%B0%E5%BD%95%E7%9A%84%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20%E5%8A%A0%E9%80%9F%E5%BA%A6%3C%2FSPAN%3E%20%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22hps%22%3E%E4%BE%8B%E5%A6%82%3C%2FSPAN%3E%20%EF%BC%8C%3CSPAN%20class%3D%22hps%22%3E%20%E4%B8%89%E4%B8%AA%E8%BD%B4%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20%E7%9A%84%E5%8A%A0%E9%80%9F%E5%BA%A6%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20%E8%AF%BB%E6%95%B0%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20%E4%B8%BA%3C%2FSPAN%3E%20FF%20E0%20FD%2070%2040%20E8%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22hps%22%3E%E5%85%B6%E4%B8%AD%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20X%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20%E8%BD%B4%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%20%E8%AF%BB%E6%95%B0%3C%2FSPAN%3E%20%3D%20FF%20E0%EF%BC%88AX%3D0.0024g%EF%BC%89%E3%80%81%E8%BD%B4%20Y%3DFD%2070%20(Ay%3D-0.0518g)%E8%BD%B4%20Z%3D%2040%20E8%EF%BC%88Az%3D0.9995g%EF%BC%89%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22hps%22%3E%E4%BB%A5%E4%B8%8B%E6%95%B0%E6%8D%AE%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E%E5%AF%B9%E5%BA%94%E4%BA%8E%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E%E8%AF%BB%E5%8F%96%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E%E5%85%88%E8%BF%9B%E5%85%88%E5%87%BA%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22hps%22%3E%E4%BE%8B%E5%A6%82%3C%2FSPAN%3E%3CSPAN%20class%3D%22shorttext%22%3E%EF%BC%8C%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22hps%22%3E%E8%BD%B4%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3EX%3C%2FSPAN%3E%3D7E%20D8%EF%BC%8C%E8%BD%B4%20Y%20%3D20%2060%EF%BC%8C%E8%BD%B4%20Z%20%3D00%2040%3CBR%20%2F%3E%207E%20D8%2020%2060%2000%2040%207E%20B8%2020%2038%2000%2034%207E%20D8%2020%20B8%2000%2030%207E%20D8%2020%204C%2000%2018%207E%20E8%2020%2090%2000%2034%207E%20F8%2020%2064%2000%2018%3C%2FP%3E%3CP%3E%207e%20f4%2020%2040%2000%203c%207e%20f4%2020%2030%2000%2010%207e%20d8%2020%2078%2000%203c%207e%20c0%2020%2050%207f%20f8%207e%20d0%2020%2040%2000%2044%207e%20b0%2020%206c%2000%2044%20%3C%2FP%3E%3CP%3E%207e%20E0%2020%2050%2000%2038%207e%20F0%2020%207c%2000%2008%207e%20E0%2020%2038%2000%2000%207e%20D8%2020%2050%2000%2018%207e%20C0%2020%205c%2000%2010%207e%20E0%2020%2074%2000%2018%20%3C%2FP%3E%3CP%3E%20%207E%20E0%2020%207C%2000%2010%207E%20D8%2020%2090%2000%2010%207E%20F0%2020%2030%2000%2030%207E%20E0%2020%2030%2000%2038%207E%20E8%2020%2060%2000%2044%207E%20E8%2020%2058%2000%202C%20%3C%2FP%3E%3CP%3E%20%207e%20e0%2020%2054%2000%203c%207e%20f4%2020%2088%2000%2058%207e%20d8%2020%2060%2000%202c%207e%20b8%2020%206c%2000%2038%207e%20a8%2020%2064%2000%2020%207e%20a8%2020%2064%2000%2044%20%3C%2FP%3E%3CP%3E%20%20%207E%20D0%2020%2060%2000%2004%207E%20E0%2020%2058%2000%207C%20%20%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E8%AF%BB%E5%8F%96%20192%20%E5%AD%97%E8%8A%82%E7%9A%84%E5%87%BD%E6%95%B0%E5%A6%82%E4%B8%8B%EF%BC%9A%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3Evoid%20IMUREAD2(char%20reg1%2C%20int%20count%2C%20unsigned%20char%20array%5B%5D)%7B%7B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3E%E6%97%A0%E7%AC%A6%E5%8F%B7%20int%20i%EF%BC%9B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3E%E6%97%A0%E7%AC%A6%E5%8F%B7%E5%AD%97%E7%AC%A6%E5%80%BC%EF%BC%9B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3E%E6%97%A0%E7%AC%A6%E5%8F%B7%20char%20dire%2C%20dire1%EF%BC%9B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3Edire%20%3Dreg1%26amp%3B0x7F%EF%BC%9B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3Edire1%3D%20reg1%26amp%3B0x80%EF%BC%9B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3ECS_FX%3D0%EF%BC%9B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3EWByteSPI1%EF%BC%88%E5%8F%AF%E6%80%95%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3EWByteSPI1%EF%BC%88dire1%EF%BC%89%EF%BC%9B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for(i%20%3D%200%3B%20i%26lt%3B%20count%3B%20i%2B%2B)%7B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20array%5Bi%5D%3DRByteSPI1()%3B%2F%2F%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3ENop()%EF%BC%9B%20%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20lang%3D%22EN-US%22%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3ECS_FX%3D1%EF%BC%9B%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3E%E8%BF%94%E5%9B%9E%EF%BC%9B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%20style%3D%22font-size%3A%2010.0pt%3B%20font-family%3A%20'Times%20New%20Roman'%2Cserif%3B%22%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSPAN%20lang%3D%22en%22%3E%3CSPAN%20class%3D%22hps%22%3E%E9%9D%9E%E5%B8%B8%E6%84%9F%E8%B0%A2%EF%BC%8C%E5%B9%B6%E8%87%B4%E4%BB%A5%E6%9C%80%E5%B4%87%E9%AB%98%E7%9A%84%E6%95%AC%E6%84%8F%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20lang%3D%22en%22%3E%3CSPAN%20class%3D%22hps%22%3E%E5%8D%A1%E6%B4%9B%E6%96%AF-%E5%8D%A1%E7%BA%B3%E5%B0%94%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-468685%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Error%20FIFO%20FXLS8471%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-468685%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%E5%8D%A1%E6%B4%9B%E6%96%AF%E3%80%81%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E6%98%AF%E7%9A%84%EF%BC%8CFIFO%20%E4%BB%A5%20800Hz%20%E7%9A%84%E6%95%B0%E6%8D%AE%E9%80%9F%E7%8E%87%E5%B7%A5%E4%BD%9C%E3%80%82%E4%BD%A0%E5%8F%AA%E9%9C%80%E8%A6%81%E9%80%9A%E8%BF%87%3CEM%3E%20RESET%3C%2FEM%3E%20%3CEM%3Ed%20r%20%5B0%3A2%5D%3C%2FEM%3E%20%E5%AD%97%E6%AE%B5%EF%BC%88%E4%B8%BA%3CEM%3E%200%20b000%EF%BC%89%E6%9D%A5%E9%85%8D%E7%BD%AE%3C%2FEM%3E%20CTRL_REG1%20%E5%AF%84%E5%AD%98%E5%99%A8%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9E%9C%E4%BD%A0%E6%83%B3%E7%9C%8B%E7%9C%8B%EF%BC%8C%E6%88%91%E9%99%84%E4%B8%8A%E4%BA%86%E4%B8%80%E4%BB%BD%E5%85%B3%E4%BA%8E%E5%9C%A8%E8%BF%90%E5%8A%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E4%B8%AD%E4%BD%BF%E7%94%A8FIFO%E7%9A%84%E5%BA%94%E7%94%A8%E7%AC%94%E8%AE%B0%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E7%A5%9D%E4%BD%A0%E6%84%89%E5%BF%AB%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E5%AE%89%E4%B8%9C%E5%B0%BC%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-468684%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Error%20FIFO%20FXLS8471%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-468684%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%3CSPAN%20lang%3D%22en%22%3E%3CSPAN%20class%3D%22hps%22%3E%E6%82%A8%E5%A5%BD%3C%2FSPAN%3E%EF%BC%8C%3CSPAN%20class%3D%22hps%22%3E%E5%AE%89%E4%B8%9C%E5%B0%BC%3C%2FSPAN%3E%EF%BC%9A%3CBR%20%2F%3E%20%3CSPAN%20class%3D%22hps%22%3E%EF%BC%8C%E9%9D%9E%E5%B8%B8%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%90%88%E4%BD%9C%E3%80%82%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22hps%22%3E%E6%9C%AC%E5%91%A8%E6%9C%AB%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3EI%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E%E6%8A%A5%E5%91%8A%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E%E6%88%91%E7%9A%84%E4%BB%A3%E7%A0%81%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E%E5%B9%B6%E5%B0%86%E5%85%B6%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E%E5%9C%A8%E8%BF%99%E4%B8%AA%E9%A1%B5%E9%9D%A2%E4%B8%8A%E3%80%82%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20class%3D%22hps%22%3E%E6%88%91%E6%9C%89%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E%E4%BB%A5%E4%B8%8B%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E%E9%97%AE%E9%A2%98%3C%2FSPAN%3E%EF%BC%9A%E8%83%BD%E5%90%A6%3CSPAN%20class%3D%22hps%22%3E%E4%BD%BF%E7%94%A8%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E800%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3EHz%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3EODR%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3E%E4%B8%8E%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hps%22%3EFIFO%3C%2FSPAN%3E%20%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8%EF%BC%9F%3CBR%20%2F%3E%20%3CSPAN%20class%3D%22hps%22%3E%E9%9D%9E%E5%B8%B8%E6%84%9F%E8%B0%A2%EF%BC%8C%E5%B9%B6%E8%87%B4%E4%BB%A5%E6%9C%80%E5%B4%87%E9%AB%98%E7%9A%84%E6%95%AC%E6%84%8F%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20lang%3D%22en%22%3E%3CSPAN%20class%3D%22hps%22%3E%E5%8D%A1%E6%B4%9B%E6%96%AF-%E5%8D%A1%E7%BA%B3%E5%B0%94%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-468683%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Error%20FIFO%20FXLS8471%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-468683%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%E5%8D%A1%E6%B4%9B%E6%96%AF%E3%80%81%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E8%83%BD%E5%90%A6%E5%88%86%E4%BA%AB%E4%B8%80%E4%B8%8B%E6%82%A8%E7%9A%84%20FXLS8471%20%E9%85%8D%E7%BD%AE%EF%BC%9F%3CBR%20%2F%3E%E6%88%91%E8%BF%98%E6%83%B3%E7%9C%8B%E7%9C%8B%E6%82%A8%E6%B8%85%E7%A9%BA%20FIFO%20%E7%9A%84%20drain%20%E5%87%BD%E6%95%B0%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%82%A8%E6%83%B3%E6%AF%94%E8%BE%83%E4%B8%80%E4%B8%8B%EF%BC%8C%E8%BF%99%E6%98%AF%E6%88%91%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22jive_macro_code%20jive_text_macro%20_jivemacro_uid_14508695130644306%22%20data-renderedposition%3D%22155_8_1232_656%22%20jivemacro_uid%3D%22_14508695130644306%22%20modifiedtitle%3D%22true%22%3E%3CP%3E%2F%2F%20CONFIG%3C%2FP%3E%3CP%3E%23define%20FXLS8471Q_CTRL_REG1%200x2A%3C%2FP%3E%3CP%3E%23define%20FXLS8471Q_CTRL_REG2%200x2B%3C%2FP%3E%3CP%3E%23define%20FXLS8471Q_CTRL_REG3%200x2C%3C%2FP%3E%3CP%3E%23define%20FXLS8471Q_CTRL_REG4%200x2D%3C%2FP%3E%3CP%3E%23define%20FXLS8471Q_CTRL_REG5%200x2E%3C%2FP%3E%3CP%3E%23define%20FXLS8471Q_XYZ_DATA_CFG%200x0E%3C%2FP%3E%3CP%3E%2F%2F%20ID%3C%2FP%3E%3CP%3E%23define%20FXLS8471Q_WHO_AM_I%200x0D%3C%2FP%3E%3CP%3E%23define%20FXLS8471Q_WHO_AM_I_VAL%200x6A%3C%2FP%3E%3CP%3E%2F%2F%20%E5%85%88%E8%BF%9B%E5%85%88%E5%87%BA%3C%2FP%3E%3CP%3E%23define%20FXLS8471Q_F_SETUP%200x09%3C%2FP%3E%3CP%3E%23define%20FXLS8471Q_F_STATUS%200x00%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Ebool%20FXLS8471Q%3A%3AvInit()%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3E%20%20%20%20bool%20__b_result%3Dfalse%EF%BC%9B%3C%2FP%3E%3CP%3E%20%20%20%20uint8_t%20__u8_temp%3D0xFF%EF%BC%9B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%20%20%20%20%2F*%20%E6%A3%80%E6%9F%A5%E4%BC%A0%E6%84%9F%E5%99%A8%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%EF%BC%8C%E9%98%B2%E6%AD%A2%E5%87%BA%E7%8E%B0%20SPI%20%E9%97%AE%E9%A2%98*%2F%3C%2FP%3E%3CP%3E%20%20%20%20if(bRead(FXLS8471Q_WHO_AM_I%2C%26amp%3B__u8_temp%2C1))%20%20%20%3C%2FP%3E%3CP%3E%20%20%20%20if(__u8_temp%20%3D%3D%20FXLS8471Q_WHO_AM_I_VAL)%20%2F%2F%E6%A3%80%E6%9F%A5%E4%BC%A0%E6%84%9F%E5%99%A8%20ID%20%E7%AD%94%E6%A1%88%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%3E%20%20%20%20%2F*%20%E9%85%8D%E7%BD%AE%E4%BC%A0%E6%84%9F%E5%99%A8%20*%2F%3C%2FP%3E%3CP%3E%20%20%20%20if(bWrite(FXLS8471Q_CTRL_REG1%20%2C0x0))%20%2F%2F%E5%BE%85%E6%9C%BA%E6%A8%A1%E5%BC%8F%3C%2FP%3E%3CP%3E%20%20%20%20if(bWrite(FXLS8471Q_XYZ_DATA_CFG%2C0x2))%20%20%20%20%20%20%20%20%2F%2F0.976mg%2FLSB%20%20%20%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%3E%20%20%20%20%2F*%20%E9%85%8D%E7%BD%AE%20FIFO%20*%2F%3C%2FP%3E%3CP%3E%20%20%20%20if(bWrite(FXLS8471Q_F_SETUP%20%2C0x80))%20%2F%2F%20FIFO%20%E6%A8%A1%E5%BC%8F%202%EF%BC%9A%E6%BA%A2%E5%87%BA%E6%97%B6%E5%81%9C%E6%AD%A2%E6%8E%A5%E5%8F%97%E6%96%B0%E9%87%87%E6%A0%B7%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%3E%20%20%20%20%2F*%20%E9%85%8D%E7%BD%AE%20FIFO%20%E4%B8%AD%E6%96%AD%20*%2F%3C%2FP%3E%3CP%3E%20%20%20%20if(bWrite(FXLS8471Q_CTRL_REG3%20%2C0x82))%20%20%20%20%20%20%2F%2FFIFO%EF%BC%8C%E4%B8%AD%E6%96%AD%E9%AB%98%E7%94%B5%E5%B9%B3%E6%9C%89%E6%95%88%EF%BC%88%E4%B8%8A%E5%8D%87%E4%BA%8B%E4%BB%B6%EF%BC%89%3C%2FP%3E%3CP%3E%20%20%20%20if(bWrite(FXLS8471Q_CTRL_REG4%20%2C0x40))%20%2F%2F%20%E5%90%AF%E7%94%A8%20FIFO%20%E4%B8%AD%E6%96%AD%3C%2FP%3E%3CP%3E%20%20%20%20if(bWrite(FXLS8471Q_CTRL_REG5%20%2C0x40))%20%2F%2F%20FIFO%20%E4%B8%AD%E6%96%AD%E5%BC%95%E8%84%9A%E8%B7%AF%E7%94%B1%E8%87%B3%20INT1%3C%2FP%3E%3CP%3Eif%20(bWrite%20(FXLS8471Q_CTRL_REG1%20%2C0x11))%20%2F%2F%E5%B0%86%20ODR%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%20400Hz%20%26amp%3B%20%E8%BF%90%E8%A1%8C%E6%A8%A1%E5%BC%8F%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%20%20%20%20%20%20%20%20__b_result%3D%20true%EF%BC%9B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%3E%20%20%20%20return%20__b_result%EF%BC%9B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3C%2FPRE%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CPRE%20__default_attr%3D%22c%2B%2B%22%20__jive_macro_name%3D%22code%22%20class%3D%22jive_macro_code%20_jivemacro_uid_14508696483152626%20jive_text_macro%22%20data-renderedposition%3D%22874_8_1232_336%22%20jivemacro_uid%3D%22_14508696483152626%22%3E%3CP%3E%23define%20FXLS8471Q_OUT_X_MSB%200x01%3C%2FP%3E%3CP%3Ebool%20FXLS8471Q%3A%3AbGetFIFOAccelData(int16_t%20__aai16_AccelData%5B32%5D%5B3%5D)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3E%20%20%20%20uint8_t%20__au8_Buffer%5B192%5D%EF%BC%9B%3C%2FP%3E%3CP%3E%20%20%20%20int16_t%20__i16_SingleData%EF%BC%9B%3C%2FP%3E%3CP%3E%20%20%20%20uint8_t%20__u8_i%2C__u8_j%EF%BC%9B%3C%2FP%3E%3CP%3E%20%20%20%20bool%20__b_result%EF%BC%9B%3C%2FP%3E%3CP%3E%20%20%20%20if(__b_result%20%3D%20bRead(FXLS8471Q_OUT_X_MSB%2C(uint8_t*)__au8_Buffer%2C192))%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%20%20%20%20%20%20%20%20for(__u8_i%3D0%3B__u8_i%26lt%3B32%3B__u8_i%2B%2B)%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%20%20%20%20%20%20%20%20%20%20%20%20for(__u8_j%3D0%3B__u8_j%26lt%3B3%3B__u8_j%2B%2B)%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7B%3C%2FP%3E%3CP%3E%20%20%20%20%20%20%20%20%20%20%20%20__i16_SingleData%20%3D%20(int16_t)(%20(__au8_Buffer%5B__u8_j*2%2B__u8_i*6%5D%26lt%3B%26lt%3B%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%20%2B%20__au8_Buffer%5B__u8_j*2%2B__u8_i*6%2B1%5D)%EF%BC%9B%3C%2FP%3E%3CP%3E%20%20%20%20%20%20%20%20%20%20%20%20%20__aai16_AccelData%5B__u8_i%5D%5B__u8_j%5D%20%3D%20(int16_t)(%20((float)__i16_SingleData)%2F4.0)%EF%BC%9B%3C%2FP%3E%3CP%3E%20%20%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FP%3E%3CP%3E%20%20%20%20return%20__b_result%EF%BC%9B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3C%2FPRE%3E%3CP%3E%3C%2FP%3E%3CP%3E%E8%AF%B7%E6%8F%90%E4%BE%9B%E6%9B%B4%E5%A4%9A%E6%9C%89%E5%85%B3%E6%82%A8%E7%9A%84%E9%97%AE%E9%A2%98%E7%9A%84%E4%BF%A1%E6%81%AF%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%3CP%3E%E5%AE%89%E4%B8%9C%E5%B0%BC%3C%2FP%3E%3C%2FLINGO-BODY%3E