SC7A20.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef __SC7A20_H
  2. #define __SC7A20_H
  3. #include "stm32l4xx_hal.h"
  4. #define SC7A20_ADDR 0x18
  5. // Register addresses
  6. #define SC7A20_WHO_AM_I_REG 0x0F
  7. #define SC7A20_CTRL_REG1 0x20
  8. #define SC7A20_CTRL_REG2 0x21
  9. #define SC7A20_CTRL_REG3 0x22
  10. #define SC7A20_CTRL_REG4 0x23
  11. #define SC7A20_CTRL_REG5 0x24
  12. #define SC7A20_STATUS_REG 0x27
  13. #define SC7A20_OUT_X_L 0x28
  14. #define SC7A20_OUT_X_H 0x29
  15. #define SC7A20_OUT_Y_L 0x2A
  16. #define SC7A20_OUT_Y_H 0x2B
  17. #define SC7A20_OUT_Z_L 0x2C
  18. #define SC7A20_OUT_Z_H 0x2D
  19. #define SC7A20_INT1_CFG 0x30
  20. #define SC7A20_INT1_SRC 0x31
  21. #define SC7A20_INT1_THS 0x32
  22. #define SC7A20_INT1_DURATION 0x33
  23. #define SC7A20_WHO_AM_I 0x0F
  24. #define SC7A20_DATA_OUT 0xA8//连续读寄存器数值
  25. #define SC7A20_DIG_CTRL 0x57
  26. // Functions
  27. void SC7A20_Init(void);
  28. void SC7A20_ReadXYZ(int16_t *x, int16_t *y, int16_t *z);
  29. int16_t SC7A20_Class_12bitComplement(uint8_t msb, uint8_t lsb) ;
  30. #endif // __SC7A20_H