diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-06-07 15:44:03 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-06-07 15:44:03 +0000 |
commit | a5df28e309adbccff162d67cfb9f55c653c73f7b (patch) | |
tree | 901299ccb9636bb8198c2e30aa73ee04cda57e7b | |
parent | 905231170094a578c928477b429187e02857247a (diff) | |
download | ChibiOS-a5df28e309adbccff162d67cfb9f55c653c73f7b.tar.gz ChibiOS-a5df28e309adbccff162d67cfb9f55c653c73f7b.tar.bz2 ChibiOS-a5df28e309adbccff162d67cfb9f55c653c73f7b.zip |
Revised port abstraction layer (PAL), STM32 support adjusted.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1023 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | demos/ARMCM3-STM32F103-GCC/Makefile | 1 | ||||
-rw-r--r-- | demos/ARMCM3-STM32F103-GCC/main.c | 26 | ||||
-rw-r--r-- | docs/src/main.dox | 2 | ||||
-rw-r--r-- | src/templates/pal_lld.h | 2 |
4 files changed, 29 insertions, 2 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;
}
diff --git a/docs/src/main.dox b/docs/src/main.dox index 24d7acda1..3a38d7115 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -358,7 +358,7 @@ * @defgroup PAL I/O Ports Abstraction Layer (PAL)
* @brief I/O Ports Abstraction Layer
* @details This module defines an abstract interface for digital I/O ports.
- * Note that I/O ports functions are just a set of macros. The macros
+ * Note that most I/O ports functions are just macros. The macros
* have default software implementations that can be redefined in a
* @ref PAL_LLD if the target hardware supports special features like, as
* example, atomic bit set/reset/masking. Please refer to the ports specific
diff --git a/src/templates/pal_lld.h b/src/templates/pal_lld.h index d9e492c0b..246ab8d9f 100644 --- a/src/templates/pal_lld.h +++ b/src/templates/pal_lld.h @@ -19,7 +19,7 @@ /**
* @file src/templates/pal_lld.h
- * @brief @ref PAL subsystem low level driver template
+ * @brief PAL subsystem low level driver template
* @addtogroup PAL_LLD
* @{
*/
|