digital_input.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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[DI_NUMBER]; // счетчики входов
  26. extern uint16_t di_state[DI_NUMBER]; // состояние входа
  27. extern uint16_t di_state_bit; // битовое поле
  28. extern uint16_t di_load_state[DO_NUMBER]; // состояние датчиков нагрузки
  29. extern uint16_t di_load_state_bit;
  30. extern uint16_t di_credibility_state[DO_NUMBER]; // достоверность состояния датчиков нагрузки
  31. extern uint16_t di_credibility_state_bit; // достоверность состояния датчиков нагрузки
  32. #endif // __DIGITAL_INPUT_H