aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple/stm32f1/gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmaple/stm32f1/gpio.c')
-rw-r--r--libmaple/stm32f1/gpio.c36
1 files changed, 9 insertions, 27 deletions
diff --git a/libmaple/stm32f1/gpio.c b/libmaple/stm32f1/gpio.c
index 2cbe299..4b596e9 100644
--- a/libmaple/stm32f1/gpio.c
+++ b/libmaple/stm32f1/gpio.c
@@ -39,7 +39,7 @@
gpio_dev gpioa = {
.regs = GPIOA_BASE,
.clk_id = RCC_GPIOA,
- .exti_port = AFIO_EXTI_PA,
+ .exti_port = EXTI_PA,
};
/** GPIO port A device. */
gpio_dev* const GPIOA = &gpioa;
@@ -47,7 +47,7 @@ gpio_dev* const GPIOA = &gpioa;
gpio_dev gpiob = {
.regs = GPIOB_BASE,
.clk_id = RCC_GPIOB,
- .exti_port = AFIO_EXTI_PB,
+ .exti_port = EXTI_PB,
};
/** GPIO port B device. */
gpio_dev* const GPIOB = &gpiob;
@@ -55,7 +55,7 @@ gpio_dev* const GPIOB = &gpiob;
gpio_dev gpioc = {
.regs = GPIOC_BASE,
.clk_id = RCC_GPIOC,
- .exti_port = AFIO_EXTI_PC,
+ .exti_port = EXTI_PC,
};
/** GPIO port C device. */
gpio_dev* const GPIOC = &gpioc;
@@ -63,7 +63,7 @@ gpio_dev* const GPIOC = &gpioc;
gpio_dev gpiod = {
.regs = GPIOD_BASE,
.clk_id = RCC_GPIOD,
- .exti_port = AFIO_EXTI_PD,
+ .exti_port = EXTI_PD,
};
/** GPIO port D device. */
gpio_dev* const GPIOD = &gpiod;
@@ -72,7 +72,7 @@ gpio_dev* const GPIOD = &gpiod;
gpio_dev gpioe = {
.regs = GPIOE_BASE,
.clk_id = RCC_GPIOE,
- .exti_port = AFIO_EXTI_PE,
+ .exti_port = EXTI_PE,
};
/** GPIO port E device. */
gpio_dev* const GPIOE = &gpioe;
@@ -80,7 +80,7 @@ gpio_dev* const GPIOE = &gpioe;
gpio_dev gpiof = {
.regs = GPIOF_BASE,
.clk_id = RCC_GPIOF,
- .exti_port = AFIO_EXTI_PF,
+ .exti_port = EXTI_PF,
};
/** GPIO port F device. */
gpio_dev* const GPIOF = &gpiof;
@@ -88,7 +88,7 @@ gpio_dev* const GPIOF = &gpiof;
gpio_dev gpiog = {
.regs = GPIOG_BASE,
.clk_id = RCC_GPIOG,
- .exti_port = AFIO_EXTI_PG,
+ .exti_port = EXTI_PG,
};
/** GPIO port G device. */
gpio_dev* const GPIOG = &gpiog;
@@ -132,9 +132,9 @@ void gpio_set_mode(gpio_dev *dev, uint8 pin, gpio_pin_mode mode) {
*cr = tmp;
if (mode == GPIO_INPUT_PD) {
- regs->ODR &= ~BIT(pin);
+ regs->ODR &= ~(1U << pin);
} else if (mode == GPIO_INPUT_PU) {
- regs->ODR |= BIT(pin);
+ regs->ODR |= (1U << pin);
}
}
@@ -153,24 +153,6 @@ void afio_init(void) {
#define AFIO_EXTI_SEL_MASK 0xF
/**
- * @brief Select a source input for an external interrupt.
- *
- * @param exti External interrupt.
- * @param gpio_port Port which contains pin to use as source input.
- * @see afio_exti_num
- * @see afio_exti_port
- */
-void afio_exti_select(afio_exti_num exti, afio_exti_port gpio_port) {
- __io uint32 *exti_cr = &AFIO_BASE->EXTICR1 + exti / 4;
- uint32 shift = 4 * (exti % 4);
- uint32 cr = *exti_cr;
-
- cr &= ~(AFIO_EXTI_SEL_MASK << shift);
- cr |= gpio_port << shift;
- *exti_cr = cr;
-}
-
-/**
* @brief Perform an alternate function remap.
* @param remapping Remapping to perform.
*/