aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32/f1/stm32-h103/exti_both/exti_both.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/stm32/f1/stm32-h103/exti_both/exti_both.c')
-rw-r--r--examples/stm32/f1/stm32-h103/exti_both/exti_both.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/examples/stm32/f1/stm32-h103/exti_both/exti_both.c b/examples/stm32/f1/stm32-h103/exti_both/exti_both.c
index 7c6f9c7..f842dd5 100644
--- a/examples/stm32/f1/stm32-h103/exti_both/exti_both.c
+++ b/examples/stm32/f1/stm32-h103/exti_both/exti_both.c
@@ -2,7 +2,7 @@
* This file is part of the libopencm3 project.
*
* Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>,
- * 2010 Piotr Esden-Tempski <piotr@esden.net>
+ * Copyright (C) 2010 Piotr Esden-Tempski <piotr@esden.net>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -29,7 +29,6 @@ u16 exti_line_state;
void clock_setup(void)
{
rcc_clock_setup_in_hse_8mhz_out_72mhz();
-
}
void gpio_setup(void)
@@ -50,23 +49,23 @@ void exti_setup(void)
/* Enable AFIO clock. */
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_AFIOEN);
- /* Enable EXTI0 interrupt */
+ /* Enable EXTI0 interrupt. */
nvic_enable_irq(NVIC_EXTI0_IRQ);
/* Set GPIO0 (in GPIO port A) to 'input float'. */
- gpio_set_mode(GPIOA, GPIO_MODE_INPUT,
- GPIO_CNF_INPUT_FLOAT, GPIO0);
+ gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO0);
- /* configure EXTI subsystem */
+ /* Configure the EXTI subsystem. */
exti_select_source(EXTI0, GPIOA);
exti_set_trigger(EXTI0, EXTI_TRIGGER_BOTH);
exti_enable_request(EXTI0);
}
-void exti0_isr()
+void exti0_isr(void)
{
exti_line_state = GPIOA_IDR;
+ /* The LED (PC12) is on, but turns off when the button is pressed. */
if ((exti_line_state & (1 << 0)) != 0) {
gpio_clear(GPIOC, GPIO12);
} else {
@@ -78,15 +77,12 @@ void exti0_isr()
int main(void)
{
-
clock_setup();
gpio_setup();
exti_setup();
- /* Blink the LED (PC12) on the board. */
- while (1) {
+ while (1)
__asm("nop");
- }
return 0;
}