analog_input.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #ifndef __ANALOG_INPUT_H
  2. #define __ANALOG_INPUT_H
  3. #include <stdbool.h>
  4. // Режим измерения (ток или напряжение)
  5. typedef enum
  6. {
  7. MEAS_VOLTAGE = 0,
  8. MEAS_CURRENT,
  9. } MEAS_CHAN_MODE_t;
  10. typedef enum
  11. {
  12. MUX_301_CH = 0,
  13. AN_INP_1,
  14. AN_INP_2,
  15. AN_INP_3,
  16. AN_INP_4,
  17. AN_INP_5,
  18. AN_INP_6,
  19. V_ISO_CL, // +24 V
  20. V_ISO, // +5 V
  21. MUX_401_CH,
  22. AN_INP_7,
  23. AN_INP_8,
  24. AN_INP_9,
  25. AN_INP_10,
  26. AN_INP_11,
  27. AN_INP_12,
  28. CRNT_LIM_U_BFR_R,
  29. CRNT_LIM_U_ABFR_R,
  30. NUMBER_ADC_CH,
  31. } ANALOG_IN_t;
  32. //
  33. void ai_set_meas_mode(void);
  34. //
  35. bool ai_adc_init(void);
  36. //
  37. void ai_processing(void);
  38. //
  39. void adc_get_two_channles(ANALOG_IN_t one, ANALOG_IN_t two);
  40. //
  41. void adc_print_data(void);
  42. //
  43. void adc_task(void *params);
  44. //
  45. void ai_connect_channel(uint8_t channel);
  46. //
  47. void ai_set_mode(MEAS_CHAN_MODE_t mode, uint8_t channel);
  48. //
  49. void ai_set_mode_word(MEAS_CHAN_MODE_t mode, uint8_t channel);
  50. //
  51. void ai_ext_sens_power(uint16_t state);
  52. //
  53. void ai_connect_test(void);
  54. //
  55. void ai_mode_test(void);
  56. extern uint16_t adc_raw_data[];
  57. extern uint16_t ai_alarm;
  58. #endif // __ANALOG_INPUT_H