#include "GPIO.h" #include "stm32f1xx_ll_gpio.h" void GPIO_conf(GPIO_TypeDef * gpio, uint32_t pin, uint32_t mode, uint32_t outputType, uint32_t pullMode) { LL_GPIO_InitTypeDef init; //Activation de l'horloge if (gpio == GPIOA) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA); else if (gpio == GPIOB) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOB); else if (gpio == GPIOC) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOC); else if (gpio == GPIOD) LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOD); //Configuration du PIN LL_GPIO_StructInit(&init); init.Pin = pin; init.Mode = mode; //init.Speed = ; init.OutputType = outputType; init.Pull = pullMode; LL_GPIO_Init(gpio, &init); } void GPIO_setPin(GPIO_TypeDef * gpio, uint32_t pin, int output) { if (output) { LL_GPIO_SetOutputPin(gpio, pin); } else { LL_GPIO_ResetOutputPin(gpio,pin); } }; int GPIO_readPin(GPIO_TypeDef * gpio, uint32_t pin) { return LL_GPIO_IsOutputPinSet(gpio, pin); }