STM32L-Discovery LCD driver is code compele but untested
This commit is contained in:
parent
bc170f11b4
commit
a189ccebe5
@ -398,16 +398,17 @@ LEDs
|
|||||||
The STM32L-Discovery board has four LEDs. Two of these are controlled by
|
The STM32L-Discovery board has four LEDs. Two of these are controlled by
|
||||||
logic on the board and are not available for software control:
|
logic on the board and are not available for software control:
|
||||||
|
|
||||||
LD1 COM: LD2 default status is red. LD2 turns to green to indicate that
|
LD1 COM: LD2 default status is red. LD2 turns to green to indicate
|
||||||
communications are in progress between the PC and the ST-LINK/V2.
|
that communications are in progress between the PC and the
|
||||||
|
ST-LINK/V2.
|
||||||
LD2 PWR: Red LED indicates that the board is powered.
|
LD2 PWR: Red LED indicates that the board is powered.
|
||||||
|
|
||||||
And two LEDs can be controlled by software:
|
And two LEDs can be controlled by software:
|
||||||
|
|
||||||
User LD3: Green LED is a user LED connected to the I/O PB7 of the STM32L152
|
User LD3: Green LED is a user LED connected to the I/O PB7 of the
|
||||||
MCU.
|
STM32L152 MCU.
|
||||||
User LD4: Blue LED is a user LED connected to the I/O PB6 of the STM32L152
|
User LD4: Blue LED is a user LED connected to the I/O PB6 of the
|
||||||
MCU.
|
STM32L152 MCU.
|
||||||
|
|
||||||
These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is
|
These LEDs are not used by the board port unless CONFIG_ARCH_LEDS is
|
||||||
defined. In that case, the usage by the board port is defined in
|
defined. In that case, the usage by the board port is defined in
|
||||||
@ -432,8 +433,8 @@ Serial Console
|
|||||||
|
|
||||||
The STM32L-Discovery has no on-board RS-232 driver. Further, there are no
|
The STM32L-Discovery has no on-board RS-232 driver. Further, there are no
|
||||||
USART pins that do not conflict with the on board resources, in particular,
|
USART pins that do not conflict with the on board resources, in particular,
|
||||||
the LCD: Most USART pins are available if the LCD is enabled; USART2 may be
|
the LCD: Most USART pins are available if the LCD is enabled; USART2 may
|
||||||
used if either the LCD or the on-board LEDs are disabled.
|
be used if either the LCD or the on-board LEDs are disabled.
|
||||||
|
|
||||||
PA9 USART1_TX LCD glass COM1 P2, pin 22
|
PA9 USART1_TX LCD glass COM1 P2, pin 22
|
||||||
PA10 USART1_RX LCD glass COM2 P2, pin 21
|
PA10 USART1_RX LCD glass COM2 P2, pin 21
|
||||||
@ -448,24 +449,30 @@ used if either the LCD or the on-board LEDs are disabled.
|
|||||||
PC10 USART3_TX LCD SEG22 P2, pin 15
|
PC10 USART3_TX LCD SEG22 P2, pin 15
|
||||||
PC11 USART3_RX LCD SEG23 P2, pin 14
|
PC11 USART3_RX LCD SEG23 P2, pin 14
|
||||||
|
|
||||||
GND and (external) 5V are available on both P1 and P2. Note: These signals
|
NOTES:
|
||||||
may be at lower voltage levels and, hence, may not properly drive an external
|
|
||||||
RS-232 transceiver.
|
|
||||||
|
|
||||||
NOTE: The crystal X3 is not installed on the STM32L3-Discovery. As a
|
- GND and (external) 5V are available on both P1 and P2. Note: These
|
||||||
result, the HSE clock is not availabled and the less acurate HSI must be
|
signals may be at lower voltage levels and, hence, may not properly
|
||||||
used. This may limit the accuracy of the computed baud, especially at
|
drive an external RS-232 transceiver.
|
||||||
higher BAUD. The HSI is supposedly calibrated in the factory to within 1%
|
|
||||||
at room temperatures so perhaps this not a issue.
|
- The crystal X3 is not installed on the STM32L3-Discovery. As a result,
|
||||||
|
the HSE clock is not availabled and the less acurate HSI must be used.
|
||||||
|
This may limit the accuracy of the computed baud, especially at higher
|
||||||
|
BAUD. The HSI is supposedly calibrated in the factory to within 1% at
|
||||||
|
room temperatures so perhaps this not a issue.
|
||||||
|
|
||||||
|
- According to the STM32L-Discovery User Manual, the LCD should be removed
|
||||||
|
from its socket if you use any of the LCD pins for any other purpose.
|
||||||
|
|
||||||
I have had no problems using the USART1 with PA9 and PA10 with a 3.3-5V
|
I have had no problems using the USART1 with PA9 and PA10 with a 3.3-5V
|
||||||
RS-232 transceiver module at 57600 baud. I have not tried higher baud rates.
|
RS-232 transceiver module at 57600 baud. I have not tried higher baud
|
||||||
|
rates.
|
||||||
|
|
||||||
There is no support for a USB serial connector on the STM32L-Discovery board.
|
- There is no support for a USB serial connector on the STM32L-Discovery
|
||||||
The STM32L152 does support USB, but the USB pins are "free I/O" on the board
|
board. The STM32L152 does support USB, but the USB pins are "free I/O"
|
||||||
and no USB connector is provided. So the use of a USB console is not option.
|
on the board and no USB connector is provided. So the use of a USB
|
||||||
If you need console output, you will need to disable either LCD (and use any
|
console is not option. If you need console output, you will need to
|
||||||
USART) or the LEDs (and use USART1)
|
disable either LCD (and use any USART) or the LEDs (and use USART1)
|
||||||
|
|
||||||
Debugging
|
Debugging
|
||||||
=========
|
=========
|
||||||
@ -739,3 +746,9 @@ Where <subdir> is one of the following:
|
|||||||
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
CONFIG_HOST_WINDOWS=y : Builds under Windows
|
||||||
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
CONFIG_WINDOWS_CYGWIN=y : Using Cygwin
|
||||||
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
|
||||||
|
|
||||||
|
5. To enable SLCD support:
|
||||||
|
|
||||||
|
CONFIG_ARCH_LEDS=y : Disable LED support
|
||||||
|
CONFIG_LIB_SLCDCODEC=y : Enable the SLCD CODEC
|
||||||
|
CONFIG_STM32_LCD=y : Enable the SLCD
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# configs/stm32f3discovery/nsh/Make.defs
|
# configs/stm32l1discovery/nsh/Make.defs
|
||||||
#
|
#
|
||||||
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# configs/stm32f3discovery/nsh/setenv.sh
|
# configs/stm32l1discovery/nsh/setenv.sh
|
||||||
#
|
#
|
||||||
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
# Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
# Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -186,38 +186,38 @@
|
|||||||
* PC11 LCD_SEG41 LCD SEG23
|
* PC11 LCD_SEG41 LCD SEG23
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define BOARD_LCD_COM0 GPIO_LCD_COM0 /* PA8 */
|
#define BOARD_SLCD_COM0 GPIO_LCD_COM0 /* PA8 */
|
||||||
#define BOARD_LCD_COM1 GPIO_LCD_COM1 /* PA9 */
|
#define BOARD_SLCD_COM1 GPIO_LCD_COM1 /* PA9 */
|
||||||
#define BOARD_LCD_COM2 GPIO_LCD_COM2 /* PA10 */
|
#define BOARD_SLCD_COM2 GPIO_LCD_COM2 /* PA10 */
|
||||||
#define BOARD_LCD_COM3 GPIO_LCD_COM3 /* PB9 */
|
#define BOARD_SLCD_COM3 GPIO_LCD_COM3 /* PB9 */
|
||||||
#define BOARD_LCD_SEG0 GPIO_LCD_SEG0 /* PA1 */
|
#define BOARD_SLCD_SEG0 GPIO_LCD_SEG0 /* PA1 */
|
||||||
#define BOARD_LCD_SEG1 GPIO_LCD_SEG1 /* PA2 */
|
#define BOARD_SLCD_SEG1 GPIO_LCD_SEG1 /* PA2 */
|
||||||
#define BOARD_LCD_SEG2 GPIO_LCD_SEG2 /* PA3 */
|
#define BOARD_SLCD_SEG2 GPIO_LCD_SEG2 /* PA3 */
|
||||||
#define BOARD_LCD_SEG3 GPIO_LCD_SEG7 /* PB3 */
|
#define BOARD_SLCD_SEG3 GPIO_LCD_SEG7 /* PB3 */
|
||||||
#define BOARD_LCD_SEG4 GPIO_LCD_SEG8 /* PB4 */
|
#define BOARD_SLCD_SEG4 GPIO_LCD_SEG8 /* PB4 */
|
||||||
#define BOARD_LCD_SEG5 GPIO_LCD_SEG9 /* PB5 */
|
#define BOARD_SLCD_SEG5 GPIO_LCD_SEG9 /* PB5 */
|
||||||
#define BOARD_LCD_SEG6 GPIO_LCD_SEG10 /* PB10 */
|
#define BOARD_SLCD_SEG6 GPIO_LCD_SEG10 /* PB10 */
|
||||||
#define BOARD_LCD_SEG7 GPIO_LCD_SEG11 /* PB11 */
|
#define BOARD_SLCD_SEG7 GPIO_LCD_SEG11 /* PB11 */
|
||||||
#define BOARD_LCD_SEG8 GPIO_LCD_SEG12 /* PB12 */
|
#define BOARD_SLCD_SEG8 GPIO_LCD_SEG12 /* PB12 */
|
||||||
#define BOARD_LCD_SEG9 GPIO_LCD_SEG13 /* PB13 */
|
#define BOARD_SLCD_SEG9 GPIO_LCD_SEG13 /* PB13 */
|
||||||
#define BOARD_LCD_SEG10 GPIO_LCD_SEG14 /* PB14 */
|
#define BOARD_SLCD_SEG10 GPIO_LCD_SEG14 /* PB14 */
|
||||||
#define BOARD_LCD_SEG11 GPIO_LCD_SEG15 /* PB15 */
|
#define BOARD_SLCD_SEG11 GPIO_LCD_SEG15 /* PB15 */
|
||||||
#define BOARD_LCD_SEG12 GPIO_LCD_SEG17 /* PA15 */
|
#define BOARD_SLCD_SEG12 GPIO_LCD_SEG17 /* PA15 */
|
||||||
#define BOARD_LCD_SEG13 GPIO_LCD_SEG16 /* PB8 */
|
#define BOARD_SLCD_SEG13 GPIO_LCD_SEG16 /* PB8 */
|
||||||
#define BOARD_LCD_SEG14 GPIO_LCD_SEG18 /* PC0 */
|
#define BOARD_SLCD_SEG14 GPIO_LCD_SEG18 /* PC0 */
|
||||||
#define BOARD_LCD_SEG15 GPIO_LCD_SEG19 /* PC1 */
|
#define BOARD_SLCD_SEG15 GPIO_LCD_SEG19 /* PC1 */
|
||||||
#define BOARD_LCD_SEG16 GPIO_LCD_SEG20 /* PC2 */
|
#define BOARD_SLCD_SEG16 GPIO_LCD_SEG20 /* PC2 */
|
||||||
#define BOARD_LCD_SEG17 GPIO_LCD_SEG21 /* PC3 */
|
#define BOARD_SLCD_SEG17 GPIO_LCD_SEG21 /* PC3 */
|
||||||
#define BOARD_LCD_SEG18 GPIO_LCD_SEG24 /* PC6 */
|
#define BOARD_SLCD_SEG18 GPIO_LCD_SEG24 /* PC6 */
|
||||||
#define BOARD_LCD_SEG19 GPIO_LCD_SEG25 /* PC7 */
|
#define BOARD_SLCD_SEG19 GPIO_LCD_SEG25 /* PC7 */
|
||||||
#define BOARD_LCD_SEG20 GPIO_LCD_SEG26 /* PC8 */
|
#define BOARD_SLCD_SEG20 GPIO_LCD_SEG26 /* PC8 */
|
||||||
#define BOARD_LCD_SEG21 GPIO_LCD_SEG27 /* PC9 */
|
#define BOARD_SLCD_SEG21 GPIO_LCD_SEG27 /* PC9 */
|
||||||
#define BOARD_LCD_SEG22 GPIO_LCD_SEG40 /* PC10 */
|
#define BOARD_SLCD_SEG22 GPIO_LCD_SEG40 /* PC10 */
|
||||||
#define BOARD_LCD_SEG23 GPIO_LCD_SEG41 /* PC11 */
|
#define BOARD_SLCD_SEG23 GPIO_LCD_SEG41 /* PC11 */
|
||||||
|
|
||||||
#define BOARD LCD_NCOM 4
|
#define BOARD_SLCD_NCOM 4
|
||||||
#define BOARD LCD_NSEG 24
|
#define BOARD_SLCD_NSEG 24
|
||||||
#define BOARD_LCD_NGPIOS 28
|
#define BOARD_SLCD_NGPIOS 28
|
||||||
|
|
||||||
/****************************************************************************************************
|
/****************************************************************************************************
|
||||||
* Public Types
|
* Public Types
|
||||||
|
Loading…
Reference in New Issue
Block a user