diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-10-01 15:05:35 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-10-01 15:05:35 +0000 |
commit | be5d79ea646aa6762a4daf26d7ed72cc4479fb42 (patch) | |
tree | 1918cbf2d2cf5a303f7780b6ad48bfc773ccffa5 | |
parent | 12521df6beb6ca8dfd0e2687890ad20884270114 (diff) | |
download | nuttx-be5d79ea646aa6762a4daf26d7ed72cc4479fb42.tar.gz nuttx-be5d79ea646aa6762a4daf26d7ed72cc4479fb42.tar.bz2 nuttx-be5d79ea646aa6762a4daf26d7ed72cc4479fb42.zip |
Configure USART GPIO Rx/Tx
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2111 42af7a65-404d-4744-a932-0658087f49c3
-rwxr-xr-x | nuttx/arch/arm/src/stm32/stm32_internal.h | 49 | ||||
-rw-r--r-- | nuttx/arch/arm/src/stm32/stm32_lowputc.c | 23 |
2 files changed, 59 insertions, 13 deletions
diff --git a/nuttx/arch/arm/src/stm32/stm32_internal.h b/nuttx/arch/arm/src/stm32/stm32_internal.h index 7616364a8..9801c3227 100755 --- a/nuttx/arch/arm/src/stm32/stm32_internal.h +++ b/nuttx/arch/arm/src/stm32/stm32_internal.h @@ -69,7 +69,7 @@ #define GPIO_OUTPUT (1 << 15) /* Bit 15: Output mode */ #define GPIO_INPUT (0) -#define GPIO_ALTERNATE (0) +#define GPIO_ALT (0) /* These bits set the primary function of the pin: * .... .... .... .... FFF. .... .... .... @@ -142,13 +142,48 @@ #define GPIO_PIN14 (14 << GPIO_PIN_SHIFT) #define GPIO_PIN15 (15 << GPIO_PIN_SHIFT) -/* Alternate Pin Functions */ -/* SPI1 */ +/* Alternate Pin Functions (RM=Remap, PRM=Partial remap, FRM=Full remap */ -#define GPIO_SPI1_NSS (GPIO_ALTERNATE|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN4) -#define GPIO_SPI1_SCK (GPIO_ALTERNATE|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN5) -#define GPIO_SPI1_MISO (GPIO_ALTERNATE|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN6) -#define GPIO_SPI1_MOSI (GPIO_ALTERNATE|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN7) +#define GPIO_USART1_TX (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN9) +#define GPIO_USART1_RX (GPIO_INPUT|GPIO_CNF_INFLOAT|GPIO_MODE_INPUT|GPIO_PORTA|GPIO_PIN10) + +#define GPIO_USART1_RMTX (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN9) +#define GPIO_USART1_RMRX (GPIO_INPUT|GPIO_CNF_INFLOAT|GPIO_MODE_INPUT|GPIO_PORTA|GPIO_PIN10) + +#define GPIO_USART2_TX (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN2) +#define GPIO_USART2_RX (GPIO_INPUT|GPIO_CNF_INFLOAT|GPIO_MODE_INPUT|GPIO_PORTA|GPIO_PIN3) + +#define GPIO_USART2_RMTX (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTD|GPIO_PIN5) +#define GPIO_USART2_RMRX (GPIO_INPUT|GPIO_CNF_INFLOAT|GPIO_MODE_INPUT|GPIO_PORTD|GPIO_PIN6) + +#define GPIO_USART3_TX (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTB|GPIO_PIN10) +#define GPIO_USART3_RX (GPIO_INPUT|GPIO_CNF_INFLOAT|GPIO_MODE_INPUT|GPIO_PORTB|GPIO_PIN11) + +#define GPIO_USART3_PRMTX (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN10) +#define GPIO_USART3_PRMRX (GPIO_INPUT|GPIO_CNF_INFLOAT|GPIO_MODE_INPUT|GPIO_PORTC|GPIO_PIN11) + +#define GPIO_USART3_FRMTX (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTD|GPIO_PIN8) +#define GPIO_USART3_FRMRX (GPIO_INPUT|GPIO_CNF_INFLOAT|GPIO_MODE_INPUT|GPIO_PORTD|GPIO_PIN9) + +#define GPIO_SPI1_NSS (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN4) +#define GPIO_SPI1_SCK (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN5) +#define GPIO_SPI1_MISO (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN6) +#define GPIO_SPI1_MOSI (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN7) + +#define GPIO_SPI1_RMNSS (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN15) +#define GPIO_SPI1_RMSCK (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTB|GPIO_PIN3) +#define GPIO_SPI1_RMMISO (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTB|GPIO_PIN4) +#define GPIO_SPI1_RMMOSI (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTB|GPIO_PIN5) + +#define GPIO_SPI3_NSS (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN15) +#define GPIO_SPI3_SCK (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTB|GPIO_PIN3) +#define GPIO_SPI3_MISO (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTB|GPIO_PIN4) +#define GPIO_SPI3_MOSI (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTB|GPIO_PIN5) + +#define GPIO_SPI3_RMNSS (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTA|GPIO_PIN4) +#define GPIO_SPI3_RMSCK (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN10) +#define GPIO_SPI3_RMMISO (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN11) +#define GPIO_SPI3_RMMOSI (GPIO_ALT|GPIO_CNF_AFPP|GPIO_MODE_50MHz|GPIO_PORTC|GPIO_PIN12) /************************************************************************************ * Public Types diff --git a/nuttx/arch/arm/src/stm32/stm32_lowputc.c b/nuttx/arch/arm/src/stm32/stm32_lowputc.c index adbb29a27..093c2f6b9 100644 --- a/nuttx/arch/arm/src/stm32/stm32_lowputc.c +++ b/nuttx/arch/arm/src/stm32/stm32_lowputc.c @@ -249,6 +249,8 @@ void stm32_lowsetup(void) * USART1_RX PA10 PB7 */ + stm32_configgpio(GPIO_USART1_TX); + stm32_configgpio(GPIO_USART1_RX); mapr &= ~AFIO_MAPR_USART1_REMAP; #endif /* CONFIG_STM32_USART1 */ @@ -266,10 +268,15 @@ void stm32_lowsetup(void) * Alternate USART2_REMAP USART2_REMAP * Function = 0 = 1 * ---------- ------------ ------------ + * USART2_CTS PA0 PD3 + * USART2_RTS PA1 PD4 * USART2_TX PA2 PD5 * USART2_RX PA3 PD6 + * USART3_CK PA4 PD7 */ + stm32_configgpio(GPIO_USART2_TX); + stm32_configgpio(GPIO_USART2_RX); mapr &= ~AFIO_MAPR_USART2_REMAP; #endif /* CONFIG_STM32_USART2 */ @@ -281,14 +288,18 @@ void stm32_lowsetup(void) /* Assume default pin mapping: * - * - * Alternate USART3_REMAP[1:0] USART3_REMAP[1:0] USART3_REMAP[1:0] - * Function = “00” (no remap) = “01” (partial remap) = “11” (full remap) - * --------- ------------------ ---------------------- -------------------- - * USART3_TX PB10 PC10 PD8 - * USART3_RX PB11 PC11 PD9 + * Alternate USART3_REMAP[1:0] USART3_REMAP[1:0] USART3_REMAP[1:0] + * Function = “00” (no remap) = “01” (partial remap) = “11” (full remap) + * ---------_ ------------------ ---------------------- -------------------- + * USART3_TX PB10 PC10 PD8 + * USART3_RX PB11 PC11 PD9 + * USART3_CK PB12 PC12 PD10 + * USART3_CTS PB13 PB13 PD11 + * USART3_RTS PB14 PB14 PD12 */ + stm32_configgpio(GPIO_USART3_TX); + stm32_configgpio(GPIO_USART3_RX); mapr &= ~AFIO_MAPR_USART3_REMAP_MASK; #endif /* CONFIG_STM32_USART3 */ |