api_irrx.h 759 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * irrx.h
  3. *
  4. * Created by zoro on 2021-3-12.
  5. */
  6. #ifndef __API_IRRX_H
  7. #define __API_IRRX_H
  8. //IRRX IO
  9. enum {
  10. IRRX_PA7 = 1, //IR_G1
  11. IRRX_PA8,
  12. IRRX_PA10,
  13. IRRX_PB2,
  14. IRRX_PB6,
  15. IRRX_PB7,
  16. IRRX_PB13,
  17. IRRX_PE4,
  18. IRRX_PE10,
  19. IRRX_PE13,
  20. };
  21. typedef struct {
  22. uint8_t ir_port; //IRRX IO
  23. uint8_t clock_sel; //rsvd
  24. } irrx_t;
  25. void irrx_init(irrx_t *irrx); //硬件IRRX初始化
  26. void irrx_exit(void); //硬件IRRX关闭
  27. //使用时,需要在APP中实现两个回调函数
  28. //void ir_rx_press_cb(uint16_t addr, uint16_t cmd) {} //IRRX收到一个有效addr, cmd
  29. //void ir_rx_release_cb(void) {} //IRRX超时或按键松开
  30. #endif //__API_IRRX_H