diff options
Diffstat (limited to 'demos')
-rw-r--r-- | demos/ARMCM3-STM32F103-GCC/Makefile | 1 | ||||
-rw-r--r-- | demos/ARMCM3-STM32F103-GCC/main.c | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/demos/ARMCM3-STM32F103-GCC/Makefile b/demos/ARMCM3-STM32F103-GCC/Makefile index eb957c072..0fa07c91a 100644 --- a/demos/ARMCM3-STM32F103-GCC/Makefile +++ b/demos/ARMCM3-STM32F103-GCC/Makefile @@ -66,6 +66,7 @@ CSRC = ../../ports/ARMCM3/chcore.c \ ../../ports/ARMCM3-STM32F103/stm32_serial.c \
${KERNSRC} \
${TESTSRC} \
+ ../../src/lib/pal.c \
../../src/lib/evtimer.c \
board.c main.c
diff --git a/demos/ARMCM3-STM32F103-GCC/main.c b/demos/ARMCM3-STM32F103-GCC/main.c index f89131d37..f599c3e73 100644 --- a/demos/ARMCM3-STM32F103-GCC/main.c +++ b/demos/ARMCM3-STM32F103-GCC/main.c @@ -24,6 +24,8 @@ #include "board.h"
#include "stm32_serial.h"
+static IOBUS_DECL(LedBus, IOPORT_C, 1, GPIOC_LED);
+
/*
* Red LEDs blinker thread, times are in milliseconds.
*/
@@ -35,6 +37,30 @@ static msg_t Thread1(void *arg) { chThdSleepMilliseconds(500);
palSetPad(IOPORT_C, GPIOC_LED);
chThdSleepMilliseconds(500);
+ palTogglePad(IOPORT_C, GPIOC_LED);
+ chThdSleepMilliseconds(500);
+ palTogglePad(IOPORT_C, GPIOC_LED);
+ chThdSleepMilliseconds(500);
+ palWritePad(IOPORT_C, GPIOC_LED, PAL_LOW);
+ chThdSleepMilliseconds(500);
+ palWritePad(IOPORT_C, GPIOC_LED, PAL_HIGH);
+ chThdSleepMilliseconds(500);
+ palWriteGroup(IOPORT_C, 1, GPIOC_LED, PAL_LOW);
+ chThdSleepMilliseconds(500);
+ palWriteGroup(IOPORT_C, 1, GPIOC_LED, PAL_HIGH);
+ chThdSleepMilliseconds(500);
+ palClearPort(IOPORT_C, PAL_PORT_BIT(GPIOC_LED));
+ chThdSleepMilliseconds(500);
+ palSetPort(IOPORT_C, PAL_PORT_BIT(GPIOC_LED));
+ chThdSleepMilliseconds(500);
+ palTogglePort(IOPORT_C, PAL_PORT_BIT(GPIOC_LED));
+ chThdSleepMilliseconds(500);
+ palTogglePort(IOPORT_C, PAL_PORT_BIT(GPIOC_LED));
+ chThdSleepMilliseconds(500);
+ palWriteBus(&LedBus, PAL_LOW);
+ chThdSleepMilliseconds(500);
+ palWriteBus(&LedBus, PAL_HIGH);
+ chThdSleepMilliseconds(500);
}
return 0;
}
|