
segment lcd
stm32l053c8_discovery_glass_lcd.h
- Committer:
- siathon13
- Date:
- 2019-03-02
- Revision:
- 0:9db958ee524a
File content as of revision 0:9db958ee524a:
#ifndef __STM32L476G_DISCOVERY_GLASS_LCD_H #define __STM32L476G_DISCOVERY_GLASS_LCD_H #include "stm32l0xx_hal.h" #ifdef __cplusplus extern "C" { #endif typedef enum{ LCD_DIGIT_POSITION_1 = 0, LCD_DIGIT_POSITION_2 = 1, LCD_DIGIT_POSITION_3 = 2, LCD_DIGIT_POSITION_4 = 3, LCD_DIGIT_MAX_NUMBER = 4, }DigitPosition_Typedef; /** * @brief LCD Glass Double point * Warning: element values correspond to LCD Glass Double point. */ typedef enum{ DOUBLEPOINT_OFF = 0, DOUBLEPOINT_ON = 1 } DoublePoint_Typedef; #define COM_PER_DIGIT_NB 2/*!< Specifies number of COM to address a digit */ #define SEG_PER_DIGIT_NB 2/*!< Specifies number of SEG to address a digit */ #define LCD_MAP_CHAR_COM0_SEG_1ST_POS (1 << LCD_MAP_CHAR_COM0_SEG_1ST_SHIFT) #define LCD_MAP_CHAR_COM0_SEG_2ND_POS (1 << LCD_MAP_CHAR_COM0_SEG_2ND_SHIFT) #define LCD_MAP_CHAR_COM0_SEG_3RD_POS (1 << LCD_MAP_CHAR_COM0_SEG_3RD_SHIFT) #define LCD_MAP_CHAR_COM0_SEG_4TH_POS (1 << LCD_MAP_CHAR_COM0_SEG_4TH_SHIFT) #define LCD_MAP_CHAR_COM1_SEG_1ST_POS (1 << LCD_MAP_CHAR_COM1_SEG_1ST_SHIFT) #define LCD_MAP_CHAR_COM1_SEG_2ND_POS (1 << LCD_MAP_CHAR_COM1_SEG_2ND_SHIFT) #define LCD_MAP_CHAR_COM1_SEG_3RD_POS (1 << LCD_MAP_CHAR_COM1_SEG_3RD_SHIFT) #define LCD_MAP_CHAR_COM1_SEG_4TH_POS (1 << LCD_MAP_CHAR_COM1_SEG_4TH_SHIFT) #define LCD_MAP_CHAR_COM0_SEG_1ST_SHIFT 0x00000000 #define LCD_MAP_CHAR_COM0_SEG_2ND_SHIFT 0x00000001 #define LCD_MAP_CHAR_COM0_SEG_3RD_SHIFT 0x00000002 #define LCD_MAP_CHAR_COM0_SEG_4TH_SHIFT 0x00000003 #define LCD_MAP_CHAR_COM1_SEG_1ST_SHIFT 0x00000004 #define LCD_MAP_CHAR_COM1_SEG_2ND_SHIFT 0x00000005 #define LCD_MAP_CHAR_COM1_SEG_3RD_SHIFT 0x00000006 #define LCD_MAP_CHAR_COM1_SEG_4TH_SHIFT 0x00000007 /** * @brief LCD Digit defines */ #define LCD_DIGIT1_COM0 LCD_COM0 #define LCD_DIGIT1_COM0_SEG_MASK ~(LCD_SEG0 | LCD_SEG1 | LCD_SEG2 | LCD_SEG3) #define LCD_DIGIT1_COM1 LCD_COM1 #define LCD_DIGIT1_COM1_SEG_MASK ~(LCD_SEG0 | LCD_SEG1 | LCD_SEG2 | LCD_SEG3) #define LCD_COM0 MCU_LCD_COM0 #define LCD_COM0_1 MCU_LCD_COM0_1 #define LCD_COM1 MCU_LCD_COM1 #define LCD_COM1_1 MCU_LCD_COM1_1 #define LCD_SEG0 MCU_LCD_SEG0 #define LCD_SEG1 MCU_LCD_SEG1 #define LCD_SEG2 MCU_LCD_SEG2 #define LCD_SEG3 MCU_LCD_SEG3 #define LCD_SEG0_SHIFT MCU_LCD_SEG0_SHIFT #define LCD_SEG1_SHIFT MCU_LCD_SEG1_SHIFT #define LCD_SEG2_SHIFT MCU_LCD_SEG2_SHIFT #define LCD_SEG3_SHIFT MCU_LCD_SEG3_SHIFT #define MCU_LCD_COM0 LCD_RAM_REGISTER0 #define MCU_LCD_COM0_1 LCD_RAM_REGISTER1 #define MCU_LCD_COM1 LCD_RAM_REGISTER2 #define MCU_LCD_COM1_1 LCD_RAM_REGISTER3 #define MCU_LCD_SEG0 (1U << MCU_LCD_SEG0_SHIFT) #define MCU_LCD_SEG1 (1U << MCU_LCD_SEG1_SHIFT) #define MCU_LCD_SEG2 (1U << MCU_LCD_SEG2_SHIFT) #define MCU_LCD_SEG3 (1U << MCU_LCD_SEG3_SHIFT) #define MCU_LCD_SEG0_SHIFT 0 #define MCU_LCD_SEG1_SHIFT 1 #define MCU_LCD_SEG2_SHIFT 2 #define MCU_LCD_SEG3_SHIFT 3 /** * @brief LCD Pins definition. */ #define LCD_GPIO_BANKA_PINS (GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_6 | GPIO_PIN_8) void BSP_LCD_GLASS_Init(void); void BSP_LCD_GLASS_DeInit(void); void BSP_LCD_GLASS_Clear(void); void BSP_LCD_GLASS_WriteDigit(int digit); #ifdef __cplusplus } #endif #endif /* __STM32L476G_DISCOVERY_GLASS_LCD_H */