USB Device - Joystick/Mouse  1.0
lcd.h
Go to the documentation of this file.
1 
29 /* Define to prevent recursive inclusion -------------------------------------*/
30 #ifndef __STM324xG_EVAL_LCD_H
31 #define __STM324xG_EVAL_LCD_H
32 
33 #ifdef __cplusplus
34  extern "C" {
35 #endif
36 
37 /* Includes ------------------------------------------------------------------*/
38 //#include "stm324xg_eval.h"
39 #include "../lib/Common/fonts.h"
40 
61 typedef struct
62 {
63  int16_t X;
64  int16_t Y;
65 } Point, * pPoint;
79 /* #define USE_Delay */
80 
81 #ifdef USE_Delay
82 #include "main.h"
83  #define _delay_ Delay /* !< User can provide more timing precise _delay_ function
84  (with 10ms time base), using SysTick for example */
85 #else
86  #define _delay_ delay /* !< Default _delay_ function with less precise timing */
87 #endif
88 
92 #define LCD_REG_0 0x00
93 #define LCD_REG_1 0x01
94 #define LCD_REG_2 0x02
95 #define LCD_REG_3 0x03
96 #define LCD_REG_4 0x04
97 #define LCD_REG_5 0x05
98 #define LCD_REG_6 0x06
99 #define LCD_REG_7 0x07
100 #define LCD_REG_8 0x08
101 #define LCD_REG_9 0x09
102 #define LCD_REG_10 0x0A
103 #define LCD_REG_12 0x0C
104 #define LCD_REG_13 0x0D
105 #define LCD_REG_14 0x0E
106 #define LCD_REG_15 0x0F
107 #define LCD_REG_16 0x10
108 #define LCD_REG_17 0x11
109 #define LCD_REG_18 0x12
110 #define LCD_REG_19 0x13
111 #define LCD_REG_20 0x14
112 #define LCD_REG_21 0x15
113 #define LCD_REG_22 0x16
114 #define LCD_REG_23 0x17
115 #define LCD_REG_24 0x18
116 #define LCD_REG_25 0x19
117 #define LCD_REG_26 0x1A
118 #define LCD_REG_27 0x1B
119 #define LCD_REG_28 0x1C
120 #define LCD_REG_29 0x1D
121 #define LCD_REG_30 0x1E
122 #define LCD_REG_31 0x1F
123 #define LCD_REG_32 0x20
124 #define LCD_REG_33 0x21
125 #define LCD_REG_34 0x22
126 #define LCD_REG_36 0x24
127 #define LCD_REG_37 0x25
128 #define LCD_REG_40 0x28
129 #define LCD_REG_41 0x29
130 #define LCD_REG_43 0x2B
131 #define LCD_REG_45 0x2D
132 #define LCD_REG_48 0x30
133 #define LCD_REG_49 0x31
134 #define LCD_REG_50 0x32
135 #define LCD_REG_51 0x33
136 #define LCD_REG_52 0x34
137 #define LCD_REG_53 0x35
138 #define LCD_REG_54 0x36
139 #define LCD_REG_55 0x37
140 #define LCD_REG_56 0x38
141 #define LCD_REG_57 0x39
142 #define LCD_REG_58 0x3A
143 #define LCD_REG_59 0x3B
144 #define LCD_REG_60 0x3C
145 #define LCD_REG_61 0x3D
146 #define LCD_REG_62 0x3E
147 #define LCD_REG_63 0x3F
148 #define LCD_REG_64 0x40
149 #define LCD_REG_65 0x41
150 #define LCD_REG_66 0x42
151 #define LCD_REG_67 0x43
152 #define LCD_REG_68 0x44
153 #define LCD_REG_69 0x45
154 #define LCD_REG_70 0x46
155 #define LCD_REG_71 0x47
156 #define LCD_REG_72 0x48
157 #define LCD_REG_73 0x49
158 #define LCD_REG_74 0x4A
159 #define LCD_REG_75 0x4B
160 #define LCD_REG_76 0x4C
161 #define LCD_REG_77 0x4D
162 #define LCD_REG_78 0x4E
163 #define LCD_REG_79 0x4F
164 #define LCD_REG_80 0x50
165 #define LCD_REG_81 0x51
166 #define LCD_REG_82 0x52
167 #define LCD_REG_83 0x53
168 #define LCD_REG_96 0x60
169 #define LCD_REG_97 0x61
170 #define LCD_REG_106 0x6A
171 #define LCD_REG_118 0x76
172 #define LCD_REG_128 0x80
173 #define LCD_REG_129 0x81
174 #define LCD_REG_130 0x82
175 #define LCD_REG_131 0x83
176 #define LCD_REG_132 0x84
177 #define LCD_REG_133 0x85
178 #define LCD_REG_134 0x86
179 #define LCD_REG_135 0x87
180 #define LCD_REG_136 0x88
181 #define LCD_REG_137 0x89
182 #define LCD_REG_139 0x8B
183 #define LCD_REG_140 0x8C
184 #define LCD_REG_141 0x8D
185 #define LCD_REG_143 0x8F
186 #define LCD_REG_144 0x90
187 #define LCD_REG_145 0x91
188 #define LCD_REG_146 0x92
189 #define LCD_REG_147 0x93
190 #define LCD_REG_148 0x94
191 #define LCD_REG_149 0x95
192 #define LCD_REG_150 0x96
193 #define LCD_REG_151 0x97
194 #define LCD_REG_152 0x98
195 #define LCD_REG_153 0x99
196 #define LCD_REG_154 0x9A
197 #define LCD_REG_157 0x9D
198 #define LCD_REG_192 0xC0
199 #define LCD_REG_193 0xC1
200 #define LCD_REG_229 0xE5
201 
205 #define LCD_COLOR_WHITE 0xFFFF
206 #define LCD_COLOR_BLACK 0x0000
207 #define LCD_COLOR_GREY 0xF7DE
208 #define LCD_COLOR_BLUE 0x001F
209 #define LCD_COLOR_BLUE2 0x051F
210 #define LCD_COLOR_RED 0xF800
211 #define LCD_COLOR_MAGENTA 0xF81F
212 #define LCD_COLOR_GREEN 0x07E0
213 #define LCD_COLOR_CYAN 0x7FFF
214 #define LCD_COLOR_YELLOW 0xFFE0
215 
219 #define LCD_LINE_0 LINE(0)
220 #define LCD_LINE_1 LINE(1)
221 #define LCD_LINE_2 LINE(2)
222 #define LCD_LINE_3 LINE(3)
223 #define LCD_LINE_4 LINE(4)
224 #define LCD_LINE_5 LINE(5)
225 #define LCD_LINE_6 LINE(6)
226 #define LCD_LINE_7 LINE(7)
227 #define LCD_LINE_8 LINE(8)
228 #define LCD_LINE_9 LINE(9)
229 #define LCD_LINE_10 LINE(10)
230 #define LCD_LINE_11 LINE(11)
231 #define LCD_LINE_12 LINE(12)
232 #define LCD_LINE_13 LINE(13)
233 #define LCD_LINE_14 LINE(14)
234 #define LCD_LINE_15 LINE(15)
235 #define LCD_LINE_16 LINE(16)
236 #define LCD_LINE_17 LINE(17)
237 #define LCD_LINE_18 LINE(18)
238 #define LCD_LINE_19 LINE(19)
239 #define LCD_LINE_20 LINE(20)
240 #define LCD_LINE_21 LINE(21)
241 #define LCD_LINE_22 LINE(22)
242 #define LCD_LINE_23 LINE(23)
243 #define LCD_LINE_24 LINE(24)
244 #define LCD_LINE_25 LINE(25)
245 #define LCD_LINE_26 LINE(26)
246 #define LCD_LINE_27 LINE(27)
247 #define LCD_LINE_28 LINE(28)
248 #define LCD_LINE_29 LINE(29)
249 
253 #define LCD_DEFAULT_FONT Font16x24
254 
258 #define LCD_DIR_HORIZONTAL 0x0000
259 #define LCD_DIR_VERTICAL 0x0001
260 
264 #define LCD_PIXEL_WIDTH 0x0140
265 #define LCD_PIXEL_HEIGHT 0x00F0
266 
274 #define ASSEMBLE_RGB(R ,G, B) ((((R)& 0xF8) << 8) | (((G) & 0xFC) << 3) | (((B) & 0xF8) >> 3))
275 
285 void LCD_Init(void);
286 void LCD_DeInit(void);
287 void STM324xG_LCD_Init(void);
288 void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor);
289 void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor);
290 void LCD_SetTextColor(__IO uint16_t Color);
291 void LCD_SetBackColor(__IO uint16_t Color);
292 void LCD_ClearLine(uint16_t Line);
293 void LCD_Clear(uint16_t Color);
294 void LCD_SetCursor(uint16_t Xpos, uint16_t Ypos);
295 void LCD_DrawChar(uint16_t Xpos, uint16_t Ypos, const uint16_t *c);
296 void LCD_DisplayChar(uint16_t Line, uint16_t Column, uint8_t Ascii);
297 void LCD_SetFont(sFONT *fonts);
298 sFONT *LCD_GetFont(void);
299 void LCD_DisplayStringLine(uint16_t Line, uint8_t *ptr);
300 void LCD_SetDisplayWindow(uint16_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width);
301 void LCD_WindowModeDisable(void);
302 void LCD_DrawLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction);
303 void LCD_DrawRect(uint16_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width);
304 void LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius);
305 void LCD_DrawMonoPict(const uint32_t *Pict);
306 void LCD_WriteBMP(uint32_t BmpAddress);
307 void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2);
308 void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height);
309 void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius);
310 void LCD_PolyLine(pPoint Points, uint16_t PointCount);
311 void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount);
312 void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount);
313 void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount);
314 void LCD_FillPolyLine(pPoint Points, uint16_t PointCount);
322 void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue);
323 uint16_t LCD_ReadReg(uint8_t LCD_Reg);
324 void LCD_WriteRAM_Prepare(void);
325 void LCD_WriteRAM(uint16_t RGB_Code);
326 uint16_t LCD_ReadRAM(void);
327 void LCD_PowerOn(void);
328 void LCD_DisplayOn(void);
329 void LCD_DisplayOff(void);
337 void LCD_CtrlLinesConfig(void);
338 void LCD_FSMCConfig(void);
345 #ifdef __cplusplus
346 }
347 #endif
348 
349 #endif /* __STM324xG_EVAL_LCD_H */
350 
366 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
int16_t Y
Definition: lcd.h:64
void LCD_SetDisplayWindow(uint16_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width)
void LCD_DisplayChar(uint16_t Line, uint16_t Column, uint8_t Ascii)
Definition: lcd.c:413
void LCD_WriteRAM(uint16_t RGB_Code)
Definition: lcd.c:179
void LCD_WriteBMP(uint32_t BmpAddress)
void LCD_WindowModeDisable(void)
void LCD_FillPolyLine(pPoint Points, uint16_t PointCount)
void LCD_ClearLine(uint16_t Line)
void LCD_PolyLine(pPoint Points, uint16_t PointCount)
void LCD_Init(void)
Definition: lcd.c:197
int16_t X
Definition: lcd.h:63
uint16_t LCD_ReadReg(uint8_t LCD_Reg)
Definition: lcd.c:50
void LCD_SetTextColor(__IO uint16_t Color)
Definition: lcd.c:403
sFONT * LCD_GetFont(void)
void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor)
void STM324xG_LCD_Init(void)
void LCD_DisplayOff(void)
void LCD_WriteRAM_Prepare(void)
Definition: lcd.c:174
void LCD_DrawChar(uint16_t Xpos, uint16_t Ypos, const uint16_t *c)
Definition: lcd.c:373
void LCD_CtrlLinesConfig(void)
Definition: lcd.c:63
void LCD_DisplayStringLine(uint16_t Line, uint8_t *ptr)
void LCD_SetBackColor(__IO uint16_t Color)
Definition: lcd.c:408
void LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount)
void LCD_PowerOn(void)
uint16_t LCD_ReadRAM(void)
void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue)
Definition: lcd.c:42
void LCD_DisplayOn(void)
void LCD_DrawLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction)
void LCD_SetCursor(uint16_t Xpos, uint16_t Ypos)
Definition: lcd.c:168
void LCD_SetFont(sFONT *fonts)
Definition: lcd.c:58
void LCD_DrawRect(uint16_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width)
void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount)
void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor)
void LCD_DeInit(void)
struct Point * pPoint
Definition: lcd.h:61
void LCD_FSMCConfig(void)
Definition: lcd.c:119
void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
void LCD_Clear(uint16_t Color)
Definition: lcd.c:185
void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
void LCD_DrawMonoPict(const uint32_t *Pict)
void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount)
void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2)