// // Created by cfif on 05.05.23. // #include "Gpios.h" #include "SystemDelayInterface.h" tGpios GPIOS; void Gpios_Init() { tGpios *env = &GPIOS; env->power.TPS7B6850QPWPRQ1.WD_EN = vInitGpioPinPull(GPIO_C, PORT_PIN_12, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_HIGH, GPIO_PUSH_PULL, PORT_PULL_DOWN); // В схеме нет внешней подтяжки (ошибка) !!! env->power.TPS7B6850QPWPRQ1.WDO = vInitGpioPinPull(GPIO_C, PORT_PIN_13, GPIO_IN, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_OPEN_DRAIN, PORT_PULL_DOWN); env->power.TPS7B6850QPWPRQ1.WD = vInitGpioPinPull(GPIO_C, PORT_PIN_14, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_HIGH, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Контроль напряжения борт-сети (0 - ВКЛ) env->power.PBATT_CK_EN = vInitGpioPinPull(GPIO_C, PORT_PIN_17, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_HIGH, GPIO_PUSH_PULL, PORT_PULL_UP); // Включение 5V (0 - ВКЛ) env->power.SW5V_EN = vInitGpioPinPull(GPIO_C, PORT_PIN_18, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_HIGH, GPIO_PUSH_PULL, PORT_PULL_UP); // Канал 0 (1 - ВКЛ) env->power.BTS5180_2EKA_FrontRearIncarMotor.Incar_Motor_Front_EN = vInitGpioPinPull(GPIO_A, PORT_PIN_9, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Разрешение диагностики (1 - ВКЛ) env->power.BTS5180_2EKA_FrontRearIncarMotor.Incar_EN_Diag = vInitGpioPinPull(GPIO_A, PORT_PIN_10, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Вывод диагностики (0 - Канал 0; 1 - Канал 1) env->power.BTS5180_2EKA_FrontRearIncarMotor.Incar_SEL_Diag = vInitGpioPinPull(GPIO_A, PORT_PIN_11, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Канал 1 (1 - ВКЛ) env->power.BTS5180_2EKA_FrontRearIncarMotor.Incar_Motor_Rear_EN = vInitGpioPinPull(GPIO_A, PORT_PIN_17, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Канал 0 (1 - ВКЛ) env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_EN = vInitGpioPinPull(GPIO_D, PORT_PIN_24, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Разрешение диагностики (1 - ВКЛ) env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_EN_Diag = vInitGpioPinPull(GPIO_D, PORT_PIN_25, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Вывод диагностики (0 - Канал 0; 1 - Канал 1) env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.TwoWayValve_SEL_Diag = vInitGpioPinPull(GPIO_D, PORT_PIN_26, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Канал 1 (1 - ВКЛ) env->power.BTS5180_2EKA_TwoWayValveAndReservePowerSupply.ReservePower_EN = vInitGpioPinPull(GPIO_D, PORT_PIN_27, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Канал 0 (1 - ВКЛ) env->power.BTS5180_2EKA_2xChannelPTCPower.PtcRelayDriver1_EN = vInitGpioPinPull(GPIO_C, PORT_PIN_20, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Разрешение диагностики (1 - ВКЛ) env->power.BTS5180_2EKA_2xChannelPTCPower.PtcRelayDriver_EN_Diag = vInitGpioPinPull(GPIO_C, PORT_PIN_23, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Вывод диагностики (0 - Канал 0; 1 - Канал 1) env->power.BTS5180_2EKA_2xChannelPTCPower.PtcRelayDriver_SEL_Diag = vInitGpioPinPull(GPIO_C, PORT_PIN_24, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Канал 1 (1 - ВКЛ) env->power.BTS5180_2EKA_2xChannelPTCPower.PtcRelayDriver2_EN = vInitGpioPinPull(GPIO_C, PORT_PIN_21, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Канал 0 (1 - ВКЛ) env->power.BTS5180_2EKA_ShutOFFValveFrontRear.ShutOffFront_EN = vInitGpioPinPull(GPIO_A, PORT_PIN_20, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Разрешение диагностики (1 - ВКЛ) env->power.BTS5180_2EKA_ShutOFFValveFrontRear.ShutOff_EN_Diag = vInitGpioPinPull(GPIO_A, PORT_PIN_21, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Вывод диагностики (0 - Канал 0; 1 - Канал 1) env->power.BTS5180_2EKA_ShutOFFValveFrontRear.ShutSel_SEL_Diag = vInitGpioPinPull(GPIO_A, PORT_PIN_29, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); // Канал 1 (1 - ВКЛ) env->power.BTS5180_2EKA_ShutOFFValveFrontRear.ShutOffRear_EN = vInitGpioPinPull(GPIO_A, PORT_PIN_30, GPIO_OUT, GPIO_PIN_NOREVERSE, GPIO_LOW, GPIO_PUSH_PULL, PORT_PULL_DOWN); }