digital_input.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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_set(void);
  15. //
  16. uint8_t di_get(uint8_t channel);
  17. //
  18. void debounce(void);
  19. // Периодический опрос входов и датчиков обрыва нагрузки
  20. void di_task(void *params);
  21. extern uint32_t di_cnt[DI_NUMBER]; // счетчики входов
  22. extern uint16_t di_state[DI_NUMBER]; // состояние входа
  23. extern uint16_t di_state_bit; // битовое поле
  24. extern uint16_t di_load_state[DO_NUMBER]; // состояние датчиков нагрузки
  25. extern uint16_t di_load_state_bit;
  26. extern uint16_t di_credibility_state[DO_NUMBER]; // достоверность состояния датчиков нагрузки
  27. extern uint16_t di_credibility_state_bit; // достоверность состояния датчиков нагрузки
  28. #endif // __DIGITAL_INPUT_H