#ifndef __BOARD_H #define __BOARD_H /* MACROs for SET, RESET or TOGGLE Output port */ #define GPIO_HIGH(a,b) a->ODR |= b #define GPIO_LOW(a,b) a->ODR &= ~b #define GPIO_TOGGLE(a,b) a->ODR ^= b /* ADC */ #define ADC_PORTU GPIOD #define ADC_PINU GPIO_PIN_3 #define ADC_CHNLU ADC1_CHANNEL_4 #define ADC_SCHTU ADC1_SCHMITTTRIG_CHANNEL4 #define ADC_PORTI GPIOC #define ADC_PINI GPIO_PIN_4 #define ADC_CHNLI ADC1_CHANNEL_2 #define ADC_SCHTI ADC1_SCHMITTTRIG_CHANNEL2 #define ADC_SMPLS 64 // Supply voltage in mili volts #define ADC_VREF 3333UL // Сопротивление резисторов делителя входного напряжения #define VOLTAGE_MULT_TOP 393UL #define VOLTAGE_MULT_BOT 110UL #define VOLT_MUL_MUL 100 #define VOLTAGE_MUL_DIV (VOLTAGE_MULT_BOT * 1023UL) #define VOLTAGE_MUL (uint16_t)((VOLT_MUL_MUL * ADC_VREF * (VOLTAGE_MULT_TOP+VOLTAGE_MULT_BOT) + (VOLTAGE_MUL_DIV / 2)) / VOLTAGE_MUL_DIV) // Сопротивление резисторов ОУ усилителя сигнала шунта #define CURRENT_MULT_TOP 19000 #define CURRENT_MULT_BOT 1200 // shunt resistance in mili Ohms #define ADC_SHUNT 10 // Current commutator #define SWITCH_PORT GPIOD #define SWITCH_PIN GPIO_PIN_6 #define SWITCH_ON SWITCH_PORT->ODR |= SWITCH_PIN #define SWITCH_OFF SWITCH_PORT->ODR &= ~SWITCH_PIN #endif /* __BOARD_H */