digital_input.h 861 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef __DIGITAL_INPUT_H
  2. #define __DIGITAL_INPUT_H
  3. #include <stdbool.h>
  4. #include "io.h"
  5. //
  6. void di_init(void);
  7. //
  8. void di_base_init(din_t *input);
  9. //
  10. void di_exti_init(void);
  11. //
  12. void di_tim_init(void);
  13. //
  14. void di_load_sens_init(simple_gpio_t *sens);
  15. //
  16. void di_set_state(void);
  17. //
  18. void di_set(void);
  19. //
  20. uint8_t di_get(uint8_t channel);
  21. //
  22. void debounce(void);
  23. // Периодический опрос входов и датчиков обрыва нагрузки
  24. void di_task(void *params);
  25. extern uint32_t di_cnt[];
  26. extern uint16_t di_state[];
  27. extern uint16_t di_state_bit;
  28. extern uint16_t di_load_state[];
  29. extern uint16_t di_load_state_bit;
  30. extern uint16_t di_output_state[];
  31. extern uint16_t di_output_state_bit;
  32. extern uint16_t di_credibility_state[];
  33. extern uint16_t di_credibility_state_bit;
  34. #endif // __DIGITAL_INPUT_H