初级会员

- 积分
- 136
- 金钱
- 136
- 注册时间
- 2018-3-26
- 在线时间
- 287 小时
|

楼主 |
发表于 2022-9-15 13:24:35
|
显示全部楼层
HAL版本的,就不好使了
- void LSM6DS3_init(void)
- {
- uint8_t pBuffer=0;
- //
- HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET);
- //High-performance model default(Controlled by CTRL6_C register)
- pBuffer=0x1C;//Accelerometer ODR=104Hz,+/-16g,Anti-aliasing filter bandwidth:400Hz
- HAL_I2C_Mem_Write(&hi2c1,LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW,LSM6DS3_CTRL2_G_REG,1,&pBuffer, 1, 0x2000);HAL_Delay(2);
- pBuffer=0x38;//enable Accelerometer X,Y,Z
- HAL_I2C_Mem_Write(&hi2c1,LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW,LSM6DS3_CTRL10_C_REG,1,&pBuffer, 1, 0x2000);HAL_Delay(2);
- pBuffer=0x40;//enable accelerometer int1
- HAL_I2C_Mem_Write(&hi2c1,LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW,LSM6DS3_CTRL1_XL_REG,1,&pBuffer, 1, 0x2000);HAL_Delay(2);
-
- pBuffer=0x90;//Angular:104hz(Lowpass filter) 500dps(full-scale,degree/s)
- HAL_I2C_Mem_Write(&hi2c1,LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW,LSM6DS3_TAP_CFG_REG,1,&pBuffer, 1, 0x2000);HAL_Delay(2);
-
- pBuffer=0x00;//Gyroscope pitch axis (X.Y.Z) output enable.
- HAL_I2C_Mem_Write(&hi2c1,LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW,LSM6DS3_WAKE_UP_DUR,1,&pBuffer, 1, 0x2000);HAL_Delay(2);
- pBuffer=0x02;//enable Gyroscope int2
- HAL_I2C_Mem_Write(&hi2c1,LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW,LSM6DS3_WAKE_UP_THS,1,&pBuffer, 1, 0x2000);HAL_Delay(2);
-
- //WAKE_UP INTERRUPT Configuration
- pBuffer=0x20;//Latched Interrupt.
- HAL_I2C_Mem_Write(&hi2c1,LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW,LSM6DS3_MD1_CFG,1,&pBuffer, 1, 0x2000);HAL_Delay(2);
-
- pBuffer=0x40;//Block Data Update,Register address automatically incremented
- HAL_I2C_Mem_Write(&hi2c1,LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW,LSM6DS3_TAP_THS_6D,1,&pBuffer, 1, 0x2000);HAL_Delay(2);
-
- pBuffer=0x01;//Block Data Update,Register address automatically incremented
- HAL_I2C_Mem_Write(&hi2c1,LSM6DS3_ACC_GYRO_I2C_ADDRESS_LOW,LSM6DS3_CTRL8_XL,1,&pBuffer, 1, 0x2000);HAL_Delay(2);
- }
复制代码 |
|