From d73e98b0ae708627a39d7c259a55eb3f80f25d5b Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期二, 12 七月 2022 17:43:23 +0800 Subject: [PATCH] V2.48 --- Drivers/ExternlDrivers/lis3dh_driver.c | 45 +++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 41 insertions(+), 4 deletions(-) diff --git a/Drivers/ExternlDrivers/lis3dh_driver.c b/Drivers/ExternlDrivers/lis3dh_driver.c index ae6fbf0..23b692a 100644 --- a/Drivers/ExternlDrivers/lis3dh_driver.c +++ b/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() { -- Gitblit v1.9.3