mc_hall_gpio.h 807 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef _MC_HALL_H__
  2. #define _MC_HALL_H__
  3. #include "bsp/bsp.h"
  4. #define HALL_GPOI_CLK RCU_GPIOB
  5. #define HALL_1_PIN GPIO_PIN_6
  6. #define HALL_1_GROUP GPIOB
  7. #define HALL_2_PIN GPIO_PIN_7
  8. #define HALL_2_GROUP GPIOB
  9. #define HALL_3_PIN GPIO_PIN_8
  10. #define HALL_3_GROUP GPIOB
  11. #define DEGREES_120 0u
  12. #define DEGREES_60 1u
  13. #define HALL_PLACE DEGREES_120
  14. static int __inline__ hall_bit_get(uint32_t gpio_periph,uint32_t pin)
  15. {
  16. if((uint32_t)RESET != (GPIO_ISTAT(gpio_periph)&(pin))){
  17. return 1;
  18. }else{
  19. return 0;
  20. }
  21. }
  22. #define READ_HALL1() (hall_bit_get(HALL_1_GROUP, HALL_1_PIN))
  23. #define READ_HALL2() (hall_bit_get(HALL_2_GROUP, HALL_2_PIN))
  24. #define READ_HALL3() (hall_bit_get(HALL_3_GROUP, HALL_3_PIN))
  25. void mc_hall_init(void);
  26. int get_hall_stat(int samples);
  27. #endif /*_MC_HALL_H__ */