// // Created by cfif on 05.05.23. // #include "Gpios.h" #include "SystemDelayInterface.h" tGpios GPIOS; static void Gpios_Led(tLed *env) { env->ledR1 = InitGpioPin(GPIOE, GPIO_PINS_12, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->ledG1 = InitGpioPin(GPIOE, GPIO_PINS_13, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->ledR2 = InitGpioPin(GPIOF, GPIO_PINS_14, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->ledG2 = InitGpioPin(GPIOF, GPIO_PINS_15, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); } void Gpios_Init() { crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_GPIOD_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_GPIOE_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_GPIOF_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_GPIOH_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_GPIOG_PERIPH_CLOCK, TRUE); tGpios *env = &GPIOS; env->comIntDir.transmit = InitGpioPin(GPIOD, GPIO_PINS_15, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->comIntDir.receive = InitGpioPin(GPIOD, GPIO_PINS_14, GPIO_MODE_OUTPUT, GPIO_PIN_REVERSE); env->CAN1_STB = InitGpioPin(GPIOD, GPIO_PINS_13, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); GpioPinSet(&env->CAN1_STB, false); env->CAN2_STB = InitGpioPin(GPIOE, GPIO_PINS_15, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); GpioPinSet(&env->CAN2_STB, false); Gpios_Led(&env->Led); env->conns.COON_A.En1 = InitGpioPin(GPIOD, GPIO_PINS_7, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_A.En2 = InitGpioPin(GPIOD, GPIO_PINS_8, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_A.Con.A = InitGpioPin(GPIOD, GPIO_PINS_4, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_A.Con.B = InitGpioPin(GPIOD, GPIO_PINS_5, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_A.Con.C = InitGpioPin(GPIOD, GPIO_PINS_6, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); GpioPinSet(&env->conns.COON_A.En1, true); GpioPinSet(&env->conns.COON_A.En2, true); env->conns.COON_B.En1 = InitGpioPin(GPIOD, GPIO_PINS_3, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_B.Con.A = InitGpioPin(GPIOD, GPIO_PINS_0, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_B.Con.B = InitGpioPin(GPIOD, GPIO_PINS_1, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_B.Con.C = InitGpioPin(GPIOD, GPIO_PINS_2, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); GpioPinSet(&env->conns.COON_B.En1, true); env->conns.COON_C.En1 = InitGpioPin(GPIOD, GPIO_PINS_12, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_C.Con.A = InitGpioPin(GPIOD, GPIO_PINS_9, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_C.Con.B = InitGpioPin(GPIOD, GPIO_PINS_10, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_C.Con.C = InitGpioPin(GPIOD, GPIO_PINS_11, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); GpioPinSet(&env->conns.COON_C.En1, true); env->conns.COON_D.En1 = InitGpioPin(GPIOB, GPIO_PINS_10, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_D.Con.A = InitGpioPin(GPIOB, GPIO_PINS_7, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_D.Con.B = InitGpioPin(GPIOB, GPIO_PINS_8, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_D.Con.C = InitGpioPin(GPIOB, GPIO_PINS_9, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); GpioPinSet(&env->conns.COON_D.En1, true); env->conns.COON_E.En1 = InitGpioPin(GPIOF, GPIO_PINS_3, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_E.En2 = InitGpioPin(GPIOF, GPIO_PINS_4, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_E.Con.A = InitGpioPin(GPIOF, GPIO_PINS_0, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_E.Con.B = InitGpioPin(GPIOF, GPIO_PINS_1, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_E.Con.C = InitGpioPin(GPIOF, GPIO_PINS_2, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); GpioPinSet(&env->conns.COON_E.En1, true); GpioPinSet(&env->conns.COON_E.En2, true); env->conns.COON_F.En1 = InitGpioPin(GPIOF, GPIO_PINS_11, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_F.En2 = InitGpioPin(GPIOF, GPIO_PINS_12, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_F.En3 = InitGpioPin(GPIOF, GPIO_PINS_13, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_F.Con.A = InitGpioPin(GPIOF, GPIO_PINS_8, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_F.Con.B = InitGpioPin(GPIOF, GPIO_PINS_9, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); env->conns.COON_F.Con.C = InitGpioPin(GPIOF, GPIO_PINS_10, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE); GpioPinSet(&env->conns.COON_F.En1, true); GpioPinSet(&env->conns.COON_F.En2, true); GpioPinSet(&env->conns.COON_F.En3, true); }