G-sensor FXLS8471Q

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

G-sensor FXLS8471Q

2,735件の閲覧回数
monstor
Contributor II

I follow the AN4692 to configure my G-sensor. The output seems is normal. When we roll over the G-sensor, there is a normal output. However, after that the G-sensor output would become zero again immediately. We already disable the Auto-wake/sleep mode and low power mode. Please help.

ラベル(1)
0 件の賞賛
2 返答(返信)

2,366件の閲覧回数
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Henry,

It is hard to say where the problem might be. If you posted here your source code and ideally also timing diagrams from a logic analyzer, I might be able to help you in your investigation.

Meanwhile, you may find useful my simple FXLS8471Q bare-metal example code or another example code illustrating the use of the vector-magnitude function.

Regards,

Tomas

PS: If my answer helps to solve your question, please mark it as "Correct" or “Helpful”. Thank you.

0 件の賞賛

2,366件の閲覧回数
monstor
Contributor II

Dear Tomas,

Below is my source code.

void Initial_GSensor(void)
{
     CS_B_PutVal(1);//int the CS to High 

      GSensor_Write_Addr_Cmd(XYZ_DATA_CFG, 0x12); // +/-8g range with ~0.976mg/LSB
//     Set_Roll_Over();
//     Set_Transient_Detection();  
       GSensor_Write_Addr_Cmd(CTRL_REG1, 0x39);    // ODR = 1.56Hz, Normal mode, Active mode
       GSensor_Write_Addr_Cmd(CTRL_REG2, 0x02);    // Reset, High Resolution mode
//     Get_GSensor_Calibration();
}


void Get_GSensor_XYZ(void)
{
   
    GSensor_Read_Addr_Cmd(OUT_X_MSB, 7);
    X_MSB = GSensor_Data[1];
    X_LSB = GSensor_Data[2];
    Y_MSB = GSensor_Data[3];
    Y_LSB = GSensor_Data[4];
    Z_MSB = GSensor_Data[5];
    Z_LSB = GSensor_Data[6];
   
    G_Sensor.Xout_14bit = ((X_MSB << 8) | (X_LSB))>>2; 
    G_Sensor.Yout_14bit = ((Y_MSB << 8) | (Y_LSB))>>2; 
    G_Sensor.Zout_14bit = ((Z_MSB << 8) | (Z_LSB))>>2;        
   
    if(G_Sensor.Xout_14bit >= TWO_COMPLEMENT){
      X = ((X_MSB << 8) | (X_LSB))>>2;                      //  flip all the 14 bits
      X = (X ^ 0x3FFF) + 1;     
      G_Sensor.Xout_g = X * SENSITIVITY * (-1);             // Compute X-axis output value in g's 
    }else{
      G_Sensor.Xout_g = G_Sensor.Xout_14bit*SENSITIVITY;    // Compute X-axis output value in g's     
    }   
   
    if(G_Sensor.Yout_14bit >= TWO_COMPLEMENT){
      Y = ((Y_MSB << 8) | (Y_LSB))>>2;                      //  flip all the 14 bits 
      Y = (Y ^ 0x3FFF) + 1;  
      G_Sensor.Yout_g = Y * SENSITIVITY * (-1);             // Compute Y-axis output value in g's 
    }else{
      G_Sensor.Yout_g = G_Sensor.Yout_14bit*SENSITIVITY;    // Compute Y-axis output value in g's     
    }
   
    if(G_Sensor.Zout_14bit >= TWO_COMPLEMENT){
      Z = ((Z_MSB << 8) | (Z_LSB))>>2;                      //  flip all the 14 bits
      Z = (Z ^ 0x3FFF) + 1;     
      G_Sensor.Zout_g = Z * SENSITIVITY * (-1);             // Compute Z-axis output value in g's     
    }else{
      G_Sensor.Zout_g = G_Sensor.Zout_14bit*SENSITIVITY;    // Compute Z-axis output value in g's     
    }
}

void Get_GSensor_Calibration(void)
{
  
    GSensor_Write_Addr_Cmd(CTRL_REG1, 0x18);   //Set device in 100 Hz ODR, Standby
   
    GSensor_Read_Addr_Cmd(OUT_X_MSB, 7);
    X_MSB = GSensor_Data[1];
    X_LSB = GSensor_Data[2];
    Y_MSB = GSensor_Data[3];
    Y_LSB = GSensor_Data[4];
    Z_MSB = GSensor_Data[5];
    Z_LSB = GSensor_Data[6];
   
    G_Sensor.Xout_14bit = ((X_MSB << 8) | (X_LSB))>>2; 
    G_Sensor.Yout_14bit = ((Y_MSB << 8) | (Y_LSB))>>2; 
    G_Sensor.Zout_14bit = ((Z_MSB << 8) | (Z_LSB))>>2;        
   
    X_offset = G_Sensor.Xout_14bit / 8 * (-1);
    Y_offset = G_Sensor.Yout_14bit / 8 * (-1);
    Z_offset = (G_Sensor.Zout_14bit - SENSITIVITY) / 8 * (-1);   
   
    GSensor_Write_Addr_Cmd(CTRL_REG1, 0x39);    // ODR = 1.56Hz, Reduced noise, Active mode
       

void GSensor_Read_Addr_Cmd(char Addr,word len)

  isoSPI1_TComData temp_char;   
  word i;

  Delay_ms_GSensor(1);

  CS_B_PutVal(0);//CS low
  
  Delay_ms_GSensor(1);
 
  Check_Value = 1;
  TimeOut_CNT = 0;
  while( (Check_Value != 0) && (TimeOut_CNT < 3000)){
    Check_Value = isoSPI1_SendChar( ((~0x80) & Addr) );   //  R/W, ADDR[6], ADDR[5], ADDR[4], ADDR[3], ADDR[2], ADDR[1], ADDR[0]
    TimeOut_CNT++;
  }   
 
  Check_Value = 1;
  TimeOut_CNT = 0;
  while( (Check_Value != 0) && (TimeOut_CNT < 3000)){
    Check_Value = isoSPI1_SendChar(Addr);                 //  ADDR[7], X, X, X, X, X, X, X
    TimeOut_CNT++;                               
  } 
 
  Delay_ms_GSensor(1);
 
  for(i=0;i<len;i++)
  {    
    isoSPI1_SendChar(0);                  //  dummy
   
    Check_Value = 1;
    TimeOut_CNT = 0;
    while( (Check_Value != 0) && (TimeOut_CNT < 3000)){
      Check_Value = isoSPI1_RecvChar(&temp_char);         //  DATA[7], DATA[6], DATA[5], DATA[4], DATA[3], DATA[2], DATA[1], DATA[0]
      TimeOut_CNT++;                               
    }   
    GSensor_Data[i] = temp_char;
  }
 
  Delay_ms_GSensor(1);
 
  CS_B_PutVal(1);//CS High
 
  Delay_ms_GSensor(1);
  
}

void GSensor_Write_Addr_Cmd(char Addr,char data)
{   

  Delay_ms_GSensor(1);

  CS_B_PutVal(0);//CS low
  
  Delay_ms_GSensor(1);
   
  Check_Value = 1;
  TimeOut_CNT = 0;
  while( (Check_Value != 0) && (TimeOut_CNT < 3000)){   
    Check_Value = isoSPI1_SendChar( ((0x80) | Addr) );   //  R/W, ADDR[6], ADDR[5], ADDR[4], ADDR[3], ADDR[2], ADDR[1], ADDR[0]
    TimeOut_CNT++;
  }
 
  Check_Value = 1;
  TimeOut_CNT = 0;
  while( (Check_Value != 0) && (TimeOut_CNT < 3000)){
    Check_Value = isoSPI1_SendChar(Addr);                //  ADDR[7], X, X, X, X, X, X, X
    TimeOut_CNT++;
  }
 
  Check_Value = 1;
  TimeOut_CNT = 0;
  while( (Check_Value != 0) && (TimeOut_CNT < 3000)){   
    Check_Value = isoSPI1_SendChar(data);                //  DATA[7], DATA[6], DATA[5], DATA[4], DATA[3], DATA[2], DATA[1], DATA[0]
    TimeOut_CNT++; 
  }
     
  Delay_ms_GSensor(1);
 
  CS_B_PutVal(1);//CS High

  Delay_ms_GSensor(1);
  
}

0 件の賞賛
%3CLINGO-SUB%20id%3D%22lingo-sub-416657%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EG%E3%82%BB%E3%83%B3%E3%82%B5%20FXLS8471Q%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-416657%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%3EAN4692%20%E3%81%AB%E5%BE%93%E3%81%A3%E3%81%A6%20G-%E3%82%BB%E3%83%B3%E3%82%B5%E3%82%92%E6%A7%8B%E6%88%90%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E5%87%BA%E5%8A%9B%E3%81%AF%E6%AD%A3%E5%B8%B8%E3%81%AE%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82G%E3%82%BB%E3%83%B3%E3%82%B5%E3%82%92%E6%A8%AA%E5%88%87%E3%82%8B%E3%81%A8%E3%80%81%E9%80%9A%E5%B8%B8%E3%81%AE%E5%87%BA%E5%8A%9B%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E3%81%9D%E3%81%AE%E5%BE%8C%E3%80%81G%E3%82%BB%E3%83%B3%E3%82%B5%E3%81%AE%E5%87%BA%E5%8A%9B%E3%81%AF%E3%81%99%E3%81%90%E3%81%AB%E3%82%BC%E3%83%AD%E3%81%AB%E6%88%BB%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E8%87%AA%E5%8B%95%E3%82%A6%E3%82%A7%E3%82%A4%E3%82%AF%2F%E3%82%B9%E3%83%AA%E3%83%BC%E3%83%97%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A8%E4%BD%8E%E9%9B%BB%E5%8A%9B%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AF%E3%81%99%E3%81%A7%E3%81%AB%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E5%8A%A9%E3%81%91%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-416657%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3E%E5%8A%A0%E9%80%9F%E5%BA%A6%E3%82%BB%E3%83%B3%E3%82%B5%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-416659%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20G-sensor%20FXLS8471Q%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-416659%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%E8%A6%AA%E6%84%9B%E3%81%AA%E3%82%8B%E3%83%88%E3%83%BC%E3%83%9E%E3%82%B9%E3%81%B8%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E4%BB%A5%E4%B8%8B%E3%81%AF%E7%A7%81%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Evoid%20Initial_GSensor(void)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20CS_B_PutVal(1)%3B%2F%2FCS%E3%82%92High%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%3CBR%20%2F%3E%3CBR%20%2F%3EGSensor_Write_Addr_Cmd(XYZ_DATA_CFG%2C%200x12)%3B%20%2F%2F%20%2B%2F-8g%E3%81%AE%E7%AF%84%E5%9B%B2%E3%80%81%E7%B4%840.976mg%2FLSB%3CBR%20%2F%3E%20%2F%2F%20Set_Roll_Over()%3B%3CBR%20%2F%3E%20%2F%2F%20Set_Transient_Detection()%3B%3CBR%20%2F%3E%20GSensor_Write_Addr_Cmd(CTRL_REG1%2C%200x39)%3B%20%2F%2F%20ODR%20%3D%201.56Hz%2C%E9%80%9A%E5%B8%B8%E3%83%A2%E3%83%BC%E3%83%89%E3%80%81%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96%E3%83%A2%E3%83%BC%E3%83%89%3CBR%20%2F%3EGSensor_Write_Addr_Cmd(CTRL_REG2%2C%200x02)%3B%20%2F%2F%20%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%80%81%E9%AB%98%E8%A7%A3%E5%83%8F%E5%BA%A6%E3%83%A2%E3%83%BC%E3%83%89%3CBR%20%2F%3E%2F%2F%20Get_GSensor_Calibration()%3B%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%20%3CBR%20%2F%3Evoid%20Get_GSensor_XYZ(void)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%3CBR%20%2F%3E%20GSensor_Read_Addr_Cmd(OUT_X_MSB%E3%80%817)%3B%3CBR%20%2F%3E%20X_MSB%20%3D%20G%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%5B1%5D%3B%3CBR%20%2F%3E%20X_LSB%20%3D%20G%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%5B2%5D%3B%3CBR%20%2F%3E%20Y_MSB%20%3D%20G%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%5B3%5D%3B%3CBR%20%2F%3E%20Y_LSB%20%3D%20G%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%5B4%5D%3B%3CBR%20%2F%3E%20Z_MSB%20%3D%20GSensor_Data%5B5%5D%3B%3CBR%20%2F%3E%20Z_LSB%20%3D%20G%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%5B6%5D%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20G_Sensor.Xout_14bit%20%3D%20((X_MSB%20%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%7C%20(X_LSB))%26gt%3B%26gt%3B2%3B%3CBR%20%2F%3E%20G_Sensor.Yout_14bit%20%3D%20((Y_MSB%20%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%7C%20(Y_LSB))%26gt%3B%26gt%3B2%3B%3CBR%20%2F%3E%20G_Sensor.Zout_14bit%20%3D%20((Z_MSB%20%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%7C%20(Z_LSB))%26gt%3B%26gt%3B2%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20G_Sensor.Xout_14bit%20%26gt%3B%3D%20TWO_COMPLEMENT%E3%81%AE%E5%A0%B4%E5%90%88%7B%3CBR%20%2F%3E%20X%20%3D%20((X_MSB%20%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%7C%20(X_LSB))%26gt%3B%26gt%3B2%3B%20%2F%2F%2014%E3%83%93%E3%83%83%E3%83%88%E3%81%99%E3%81%B9%E3%81%A6%E3%82%92%E5%8F%8D%E8%BB%A2%3CBR%20%2F%3EX%20%3D%20(X%20%5E%200x3FFF)%20%2B%201%3B%3CBR%20%2F%3E%20G_Sensor.Xout_g%20%3D%20X%20*%20SENSITIVITY%20*%20(-1)%3B%20%2F%2F%20X%E8%BB%B8%E3%81%AE%E5%87%BA%E5%8A%9B%E5%80%A4%E3%82%92g%E5%8D%98%E4%BD%8D%E3%81%A7%E8%A8%88%E7%AE%97%E3%81%99%E3%82%8B%3CBR%20%2F%3E%7D%E3%81%9D%E3%82%8C%E4%BB%A5%E5%A4%96%7B%3CBR%20%2F%3E%20G_Sensor.Xout_g%20%3D%20G_Sensor.Xout_14bit*SENSITIVITY%3B%20%2F%2F%20X%E8%BB%B8%E3%81%AE%E5%87%BA%E5%8A%9B%E5%80%A4%E3%82%92g%E5%8D%98%E4%BD%8D%E3%81%A7%E8%A8%88%E7%AE%97%E3%81%99%E3%82%8B%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%20G_Sensor.Yout_14bit%20%26gt%3B%3D%20TWO_COMPLEMENT%E3%81%AE%E5%A0%B4%E5%90%88%7B%3CBR%20%2F%3E%20Y%20%3D%20((Y_MSB%20%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%7C%20(Y_LSB))%26gt%3B%26gt%3B2%3B%20%2F%2F%2014%E3%83%93%E3%83%83%E3%83%88%E3%81%99%E3%81%B9%E3%81%A6%E3%82%92%E5%8F%8D%E8%BB%A2%E3%81%99%E3%82%8B%3CBR%20%2F%3EY%20%3D%20(Y%20%5E%200x3FFF)%20%2B%201%3B%3CBR%20%2F%3E%20G_Sensor.Yout_g%20%3D%20Y%20*%20SENSITIVITY%20*%20(-1)%3B%20%2F%2F%20Y%E8%BB%B8%E5%87%BA%E5%8A%9B%E5%80%A4%E3%82%92g%E5%8D%98%E4%BD%8D%E3%81%A7%E8%A8%88%E7%AE%97%3CBR%20%2F%3E%7D%E3%81%9D%E3%82%8C%E4%BB%A5%E5%A4%96%7B%3CBR%20%2F%3E%20G_Sensor.Yout_g%20%3D%20G_Sensor.Yout_14bit*SENSITIVITY%3B%20%2F%2F%20Y%E8%BB%B8%E5%87%BA%E5%8A%9B%E5%80%A4%E3%82%92g%E5%8D%98%E4%BD%8D%E3%81%A7%E8%A8%88%E7%AE%97%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%20G_Sensor.Zout_14bit%20%26gt%3B%3D%20TWO_COMPLEMENT%E3%81%AE%E5%A0%B4%E5%90%88%7B%3CBR%20%2F%3E%20Z%20%3D%20((Z_MSB%20%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%7C%20(Z_LSB))%26gt%3B%26gt%3B2%3B%20%2F%2F%2014%E3%83%93%E3%83%83%E3%83%88%E3%81%99%E3%81%B9%E3%81%A6%E3%82%92%E5%8F%8D%E8%BB%A2%3CBR%20%2F%3EZ%20%3D%20(Z%20%5E%200x3FFF)%20%2B%201%3B%3CBR%20%2F%3E%20G_Sensor.Zout_g%20%3D%20Z%20*%20SENSITIVITY%20*%20(-1)%3B%20%2F%2F%20Z%E8%BB%B8%E5%87%BA%E5%8A%9B%E5%80%A4%E3%82%92g%E5%8D%98%E4%BD%8D%E3%81%A7%E8%A8%88%E7%AE%97%3CBR%20%2F%3E%7D%E3%81%9D%E3%82%8C%E4%BB%A5%E5%A4%96%7B%3CBR%20%2F%3E%20G_Sensor.Zout_g%20%3D%20G_Sensor.Zout_14bit*SENSITIVITY%3B%20%2F%2F%20Z%E8%BB%B8%E5%87%BA%E5%8A%9B%E5%80%A4%E3%82%92g%E5%8D%98%E4%BD%8D%E3%81%A7%E8%A8%88%E7%AE%97%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Evoid%20Get_GSensor_Calibration(void)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%3CBR%20%2F%3E%20GSensor_Write_Addr_Cmd(CTRL_REG1%2C%200x18)%3B%20%2F%2F%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%82%92100%20Hz%20ODR%E3%80%81%E3%82%B9%E3%82%BF%E3%83%B3%E3%83%90%E3%82%A4%E3%81%AB%E8%A8%AD%E5%AE%9A%3CBR%20%2F%3E%3CBR%20%2F%3EGSensor_Read_Addr_Cmd(OUT_X_MSB%E3%80%817)%3B%3CBR%20%2F%3E%20X_MSB%20%3D%20G%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%5B1%5D%3B%3CBR%20%2F%3E%20X_LSB%20%3D%20G%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%5B2%5D%3B%3CBR%20%2F%3E%20Y_MSB%20%3D%20G%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%5B3%5D%3B%3CBR%20%2F%3E%20Y_LSB%20%3D%20G%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%5B4%5D%3B%3CBR%20%2F%3E%20Z_MSB%20%3D%20GSensor_Data%5B5%5D%3B%3CBR%20%2F%3E%20Z_LSB%20%3D%20G%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%5B6%5D%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20G_Sensor.Xout_14bit%20%3D%20((X_MSB%20%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%7C%20(X_LSB))%26gt%3B%26gt%3B2%3B%3CBR%20%2F%3E%20G_Sensor.Yout_14bit%20%3D%20((Y_MSB%20%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%7C%20(Y_LSB))%26gt%3B%26gt%3B2%3B%3CBR%20%2F%3E%20G_Sensor.Zout_14bit%20%3D%20((Z_MSB%20%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%7C%20(Z_LSB))%26gt%3B%26gt%3B2%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20X_%E3%82%AA%E3%83%95%E3%82%BB%E3%83%83%E3%83%88%20%3D%20G_Sensor.Xout_14bit%20%2F%208%20*%20(-1)%3B%3CBR%20%2F%3E%20Y_%E3%82%AA%E3%83%95%E3%82%BB%E3%83%83%E3%83%88%20%3D%20G_Sensor.Yout_14bit%20%2F%208%20*%20(-1)%3B%3CBR%20%2F%3E%20Z_%E3%82%AA%E3%83%95%E3%82%BB%E3%83%83%E3%83%88%20%3D%20(G_Sensor.Zout_14bit%20-%20%E6%84%9F%E5%BA%A6)%20%2F%208%20*%20(-1)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20GSensor_Write_Addr_Cmd(CTRL_REG1%2C%200x39)%3B%20%2F%2F%20ODR%20%3D%201.56Hz%2C%E3%83%8E%E3%82%A4%E3%82%BA%E4%BD%8E%E6%B8%9B%E3%80%81%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96%E3%83%A2%E3%83%BC%E3%83%89%3CBR%20%2F%3E%3CBR%20%2F%3E%7D%20%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Evoid%20GSensor_Read_Addr_Cmd(char%20Addr%2Cword%20len)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%20isoSPI1_TComData%20%E4%B8%80%E6%99%82%E6%96%87%E5%AD%97%3B%3CBR%20%2F%3E%E5%8D%98%E8%AA%9E%20i%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%81%85%E5%BB%B6msG%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC(1)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20CS_B_PutVal(0)%3B%2F%2FCS%E3%81%8C%E4%BD%8E%E3%81%84%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%81%85%E5%BB%B6msG%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC(1)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E5%80%A4%20%3D%201%3B%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%20%3D%200%3B%3CBR%20%2F%3E%20while(%20(Check_Value%20!%3D%200)%20%26amp%3B%26amp%3B%20(TimeOut_CNT%20%26lt%3B%203000))%7B%3CBR%20%2F%3E%20Check_Value%20%3D%20isoSPI1_SendChar(%20((~0x80)%20%26amp%3B%20Addr)%20)%3B%20%2F%2F%20R%2FW%E3%80%81ADDR%5B6%5D%E3%80%81ADDR%5B5%5D%E3%80%81ADDR%5B4%5D%E3%80%81ADDR%5B3%5D%E3%80%81ADDR%5B2%5D%E3%80%81ADDR%5B1%5D%E3%80%81ADDR%5B0%5D%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%2B%2B%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E5%80%A4%20%3D%201%3B%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%20%3D%200%3B%3CBR%20%2F%3E%20while(%20(Check_Value%20!%3D%200)%20%26amp%3B%26amp%3B%20(TimeOut_CNT%20%26lt%3B%203000))%7B%3CBR%20%2F%3E%20Check_Value%20%3D%20isoSPI1_SendChar(Addr)%3B%20%2F%2F%20ADDR%5B7%5D%2C%20X%2C%20X%2C%20X%2C%20X%2C%20X%2C%20X%2C%20X%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%2B%2B%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%81%85%E5%BB%B6msG%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC(1)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20for(i%3D0%3Bi%3CLEN%3E%3C%2FLEN%3E%20%7B%3CBR%20%2F%3E%20isoSPI1_SendChar(0)%3B%20%2F%2F%20%E3%83%80%E3%83%9F%E3%83%BC%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E5%80%A4%20%3D%201%3B%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%20%3D%200%3B%3CBR%20%2F%3E%20while(%20(Check_Value%20!%3D%200)%20%26amp%3B%26amp%3B%20(TimeOut_CNT%20%26lt%3B%203000))%7B%3CBR%20%2F%3E%20Check_Value%20%3D%20isoSPI1_RecvChar(%26amp%3Btemp_char)%3B%20%2F%2F%20DATA%5B7%5D%2C%20DATA%5B6%5D%2C%20DATA%5B5%5D%2C%20DATA%5B4%5D%2C%20DATA%5B3%5D%2C%20DATA%5B2%5D%2C%20DATA%5B1%5D%2C%20DATA%5B0%5D%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%2B%2B%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%20GSensor_Data%5Bi%5D%20%3D%20temp_char%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%81%85%E5%BB%B6msG%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC(1)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20CS_B_PutVal(1)%3B%2F%2FCS%E9%AB%98%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%81%85%E5%BB%B6msG%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC(1)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Evoid%20GSensor_Write_Addr_Cmd(char%20Addr%2Cchar%20data)%3CBR%20%2F%3E%20%7B%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%81%85%E5%BB%B6msG%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC(1)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20CS_B_PutVal(0)%3B%2F%2FCS%E3%81%8C%E4%BD%8E%E3%81%84%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%81%85%E5%BB%B6msG%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC(1)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E5%80%A4%20%3D%201%3B%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%20%3D%200%3B%3CBR%20%2F%3E%20while(%20(Check_Value%20!%3D%200)%20%26amp%3B%26amp%3B%20(TimeOut_CNT%20%26lt%3B%203000))%7B%3CBR%20%2F%3E%20Check_Value%20%3D%20isoSPI1_SendChar(%20((0x80)%20%7C%20Addr)%20)%3B%20%2F%2F%20R%2FW%E3%80%81ADDR%5B6%5D%E3%80%81ADDR%5B5%5D%E3%80%81ADDR%5B4%5D%E3%80%81ADDR%5B3%5D%E3%80%81ADDR%5B2%5D%E3%80%81ADDR%5B1%5D%E3%80%81ADDR%5B0%5D%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%2B%2B%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E5%80%A4%20%3D%201%3B%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%20%3D%200%3B%3CBR%20%2F%3E%20while(%20(Check_Value%20!%3D%200)%20%26amp%3B%26amp%3B%20(TimeOut_CNT%20%26lt%3B%203000))%7B%3CBR%20%2F%3E%20Check_Value%20%3D%20isoSPI1_SendChar(Addr)%3B%20%2F%2F%20ADDR%5B7%5D%2C%20X%2C%20X%2C%20X%2C%20X%2C%20X%2C%20X%2C%20X%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%2B%2B%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E5%80%A4%20%3D%201%3B%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%20%3D%200%3B%3CBR%20%2F%3E%20while(%20(Check_Value%20!%3D%200)%20%26amp%3B%26amp%3B%20(TimeOut_CNT%20%26lt%3B%203000))%7B%3CBR%20%2F%3E%20Check_Value%20%3D%20isoSPI1_SendChar(data)%3B%20%2F%2F%20DATA%5B7%5D%2C%20DATA%5B6%5D%2C%20DATA%5B5%5D%2C%20DATA%5B4%5D%2C%20DATA%5B3%5D%2C%20DATA%5B2%5D%2C%20DATA%5B1%5D%2C%20DATA%5B0%5D%3CBR%20%2F%3E%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88_CNT%2B%2B%3B%3CBR%20%2F%3E%20%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%81%85%E5%BB%B6msG%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC(1)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20CS_B_PutVal(1)%3B%2F%2FCS%E9%AB%98%3C%2FP%3E%3CP%3E%E9%81%85%E5%BB%B6msG%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC(1)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%20%7D%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-416658%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20G-sensor%20FXLS8471Q%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-416658%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%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%83%98%E3%83%B3%E3%83%AA%E3%83%BC%E3%80%81%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%A9%E3%81%93%E3%81%AB%E5%95%8F%E9%A1%8C%E3%81%8C%E3%81%82%E3%82%8B%E3%81%AE%E3%81%8B%E3%82%92%E8%A8%80%E3%81%86%E3%81%AE%E3%81%AF%E9%9B%A3%E3%81%97%E3%81%84%E3%80%82%E3%82%BD%E3%83%BC%E3%82%B9%20%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A8%E3%80%81%E3%81%A7%E3%81%8D%E3%82%8C%E3%81%B0%E3%83%AD%E3%82%B8%E3%83%83%E3%82%AF%20%E3%82%A2%E3%83%8A%E3%83%A9%E3%82%A4%E3%82%B6%E3%83%BC%E3%81%8B%E3%82%89%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%9F%E3%83%B3%E3%82%B0%E5%9B%B3%E3%82%82%E3%81%93%E3%81%93%E3%81%AB%E6%8A%95%E7%A8%BF%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%82%8C%E3%81%B0%E3%80%81%E8%AA%BF%E6%9F%BB%E3%81%AB%E5%BD%B9%E7%AB%8B%E3%81%A4%E3%81%8B%E3%82%82%E3%81%97%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E4%B8%80%E6%96%B9%E3%80%81%E7%A7%81%E3%81%AE%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%3CA%20_jive_internal%3D%22true%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-99917%22%20target%3D%22_blank%22%3EFXLS8471Q%20%E3%83%99%E3%82%A2%E3%83%A1%E3%82%BF%E3%83%AB%E3%81%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%20%E3%82%B3%E3%83%BC%E3%83%89%3C%2FA%3E%E3%82%84%E3%80%81%20%3CA%20_jive_internal%3D%22true%22%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-106050%22%20target%3D%22_blank%22%3Evector-magnitude%20%E9%96%A2%E6%95%B0%3C%2FA%3E%E3%81%AE%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%E3%82%92%E7%A4%BA%E3%81%99%E5%88%A5%E3%81%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%20%E3%82%B3%E3%83%BC%E3%83%89%E3%82%82%E5%BD%B9%E3%81%AB%E7%AB%8B%E3%81%A4%E3%81%8B%E3%82%82%E3%81%97%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%83%88%E3%83%BC%E3%83%9E%E3%82%B9%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-weight%3A%20inherit%3B%20font-style%3A%20italic%3B%20font-size%3A%2010.6667px%3B%20font-family%3A%20inherit%3B%20color%3A%20%2351626f%3B%20text-align%3A%20left%3B%20text-indent%3A%200px%3B%22%3E%3CEM%20style%3D%22font-weight%3A%20inherit%3B%20font-style%3A%20italic%3B%20font-size%3A%2010.6667px%3B%20font-family%3A%20inherit%3B%22%3E%E8%BF%BD%E4%BC%B8%3A%3CSPAN%20class%3D%22Apple-converted-space%22%20style%3D%22font-weight%3A%20inherit%3B%20font-style%3A%20inherit%3B%20font-size%3A%2010.6667px%3B%20font-family%3A%20inherit%3B%22%3E%3CSPAN%20class%3D%22Apple-converted-space%22%3E%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FEM%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-weight%3A%20inherit%3B%20font-style%3A%20italic%3B%20font-size%3A%2010.6667px%3B%20font-family%3A%20inherit%3B%20color%3A%20%2351626f%3B%20text-align%3A%20left%3B%20text-indent%3A%200px%3B%22%3E%3CEM%20style%3D%22font-weight%3A%20inherit%3B%20font-style%3A%20italic%3B%20font-size%3A%2010.6667px%3B%20font-family%3A%20inherit%3B%22%3E%E7%A7%81%E3%81%AE%E5%9B%9E%E7%AD%94%E3%81%8C%E3%81%94%E8%B3%AA%E5%95%8F%E3%81%AE%E8%A7%A3%E6%B1%BA%E3%81%AB%E5%BD%B9%E7%AB%8B%E3%81%A3%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E3%80%8C%E6%AD%A3%E8%A7%A3%E3%80%8D%E3%81%BE%E3%81%9F%E3%81%AF%E3%80%8C%E5%BD%B9%E3%81%AB%E7%AB%8B%E3%81%A3%E3%81%9F%E3%80%8D%E3%81%A8%E8%A9%95%E4%BE%A1%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E