enc_intf.h 649 B

1234567891011121314151617181920212223242526
  1. #ifndef _ENC_INTF_H__
  2. #define _ENC_INTF_H__
  3. #include "os/os_types.h"
  4. #include "bsp/bsp.h"
  5. #define PWM_TIME_CLK 10000000U
  6. #define ENC_DIR_UP 1
  7. #define ENC_DIR_DOWN 2
  8. #define ENC_PWM_Calc_P(t) ((float)t / (float)PWM_TIME_CLK)
  9. #define ENC_COUNT TIMER_CNT(ENC_TIMER)
  10. #define ENC_Direction() ((TIMER_CTL0(ENC_TIMER) & TIMER_CTL0_DIR)?ENC_DIR_DOWN:ENC_DIR_UP)
  11. #define ENC_OverFlow() ((TIMER_INTF(ENC_TIMER) & TIMER_FLAG_UP)?true:false)
  12. #define ENC_ClearUpFlags() (TIMER_INTF(ENC_TIMER) = (~(uint32_t)TIMER_FLAG_UP))
  13. void enc_intf_quadrature_init(u32 rate);
  14. void enc_intf_pwm_counter(void);
  15. void enc_intf_init(u32 rate);
  16. #endif /*_ENC_INTF_H__*/