zhyinch
2022-07-12 d73e98b0ae708627a39d7c259a55eb3f80f25d5b
Drivers/ExternlDrivers/lis3dh_driver.c
@@ -68,13 +68,50 @@
{                    
   GPIO_InitTypeDef GPIO_InitStructure= {0};
 __HAL_RCC_GPIOA_CLK_ENABLE();
   GPIO_InitStructure.Pin = GPIO_PIN_2|GPIO_PIN_3;
   GPIO_InitStructure.Pin = SCL_Pin|SDA_Pin;
   GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_OD ;   //推挽输出
   GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_HIGH;
   HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
   HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2|GPIO_PIN_3,GPIO_PIN_SET);    //PB6,PB7 输出高
   HAL_GPIO_Init(SCL_GPIO_Port, &GPIO_InitStructure);
   HAL_GPIO_WritePin(SCL_GPIO_Port,SCL_Pin|SDA_Pin,GPIO_PIN_SET);    //PB6,PB7 输出高
}
uint8_t LIS3DH_ReadReg(uint8_t Reg, uint8_t* Data);
void LIS3DH_Check(void)
{
u8 error = 0,temp;
   LIS3DH_ReadReg(LIS3DH_CTRL_REG1,&temp);
   if(temp!=0x57)
   {error=1;}
   LIS3DH_ReadReg(LIS3DH_CTRL_REG2,&temp);
   if(temp!=0x03)
   {error=1;}
   LIS3DH_ReadReg(LIS3DH_CTRL_REG3,&temp);
   if(temp!=0x40)
   {error=1;}
   LIS3DH_ReadReg(LIS3DH_CTRL_REG4,&temp);
   if(temp!=0x08)
   {error=1;}
      LIS3DH_ReadReg(LIS3DH_INT1_CFG,&temp);
   if(temp!=0xaa)
   {error=1;}
      LIS3DH_ReadReg(LIS3DH_INT1_THS,&temp);
   if(temp!=g_com_map[IMU_THRES])
   {error=1;}
      LIS3DH_ReadReg(LIS3DH_INT1_DURATION,&temp);
   if(temp!=g_com_map[IMU_DUARTION])
   {error=1;}
   if(error==1)
   {
      SCB->AIRCR = 0X05FA0000|(unsigned int)0x04;
   }
}
void LIS3DH_Data_Init()   
{