board.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef __BOARD_H
  2. #define __BOARD_H
  3. /* MACROs for SET, RESET or TOGGLE Output port */
  4. #define GPIO_HIGH(a,b) a->ODR |= b
  5. #define GPIO_LOW(a,b) a->ODR &= ~b
  6. #define GPIO_TOGGLE(a,b) a->ODR ^= b
  7. /* ADC */
  8. #define ADC_PORTU GPIOD
  9. #define ADC_PINU GPIO_PIN_3
  10. #define ADC_CHNLU ADC1_CHANNEL_4
  11. #define ADC_SCHTU ADC1_SCHMITTTRIG_CHANNEL4
  12. #define ADC_PORTI GPIOC
  13. #define ADC_PINI GPIO_PIN_4
  14. #define ADC_CHNLI ADC1_CHANNEL_2
  15. #define ADC_SCHTI ADC1_SCHMITTTRIG_CHANNEL2
  16. #define ADC_SMPLS 64
  17. // Supply voltage in mili volts
  18. #define ADC_VREF 3333UL
  19. // Сопротивление резисторов делителя входного напряжения
  20. #define VOLTAGE_MULT_TOP 393UL
  21. #define VOLTAGE_MULT_BOT 110UL
  22. #define VOLT_MUL_MUL 100
  23. #define VOLTAGE_MUL_DIV (VOLTAGE_MULT_BOT * 1023UL)
  24. #define VOLTAGE_MUL (uint16_t)((VOLT_MUL_MUL * ADC_VREF * (VOLTAGE_MULT_TOP+VOLTAGE_MULT_BOT) + (VOLTAGE_MUL_DIV / 2)) / VOLTAGE_MUL_DIV)
  25. // Сопротивление резисторов ОУ усилителя сигнала шунта
  26. #define CURRENT_MULT_TOP 19000
  27. #define CURRENT_MULT_BOT 1200
  28. // shunt resistance in mili Ohms
  29. #define ADC_SHUNT 10
  30. // Current commutator
  31. #define SWITCH_PORT GPIOD
  32. #define SWITCH_PIN GPIO_PIN_6
  33. #define SWITCH_ON SWITCH_PORT->ODR |= SWITCH_PIN
  34. #define SWITCH_OFF SWITCH_PORT->ODR &= ~SWITCH_PIN
  35. #endif /* __BOARD_H */