12345678910111213141516171819202122232425262728293031323334353637 |
- #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);
-
- }
|