/** @defgroup gpio_defines GPIO Defines * * @brief Defined Constants and Types for the STM32G4xx General Purpose I/O * * @ingroup STM32G4xx_defines * * @version 1.0.0 * * LGPL License Terms @ref lgpl_license */ /* * This file is part of the libopencm3 project. * * This library is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library. If not, see . */ /**@{*/ #ifndef LIBOPENCM3_GPIO_H #define LIBOPENCM3_GPIO_H #include /** GPIO Bit Reset Registers GPIOx_BRR * @{ */ #define GPIO_BRR(port) MMIO32((port) + 0x28) #define GPIOA_BRR GPIO_BRR(GPIOA) #define GPIOB_BRR GPIO_BRR(GPIOB) #define GPIOC_BRR GPIO_BRR(GPIOC) #define GPIOD_BRR GPIO_BRR(GPIOD) #define GPIOE_BRR GPIO_BRR(GPIOE) #define GPIOF_BRR GPIO_BRR(GPIOF) #define GPIOG_BRR GPIO_BRR(GPIOG) #define GPIOH_BRR GPIO_BRR(GPIOH) /**@}*/ /** @defgroup gpio_speed GPIO Output Pin Speed @{*/ #define GPIO_OSPEED_LOW 0x0 #define GPIO_OSPEED_MED 0x1 #define GPIO_OSPEED_HIGH 0x2 #define GPIO_OSPEED_VERYHIGH 0x3 /**@}*/ BEGIN_DECLS END_DECLS #endif /**@}*/