analog_input.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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_connect_test(void);
  50. //
  51. void ai_mode_test(void);
  52. extern uint16_t adc_raw_data[];
  53. #endif // __ANALOG_INPUT_H