digital_input.h 897 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. //
  26. void di_load_task(void *params);
  27. extern uint32_t di_cnt[];
  28. extern uint16_t di_state[];
  29. extern uint16_t di_state_bit;
  30. extern uint16_t di_load_state[];
  31. extern uint16_t di_load_state_bit;
  32. extern uint16_t di_output_state[];
  33. extern uint16_t di_output_state_bit;
  34. extern uint16_t di_credibility_state[];
  35. extern uint16_t di_credibility_state_bit;
  36. #endif // __DIGITAL_INPUT_H