]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_STM32F103_IAR/STM32F10xFWLib/inc/lcd.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_STM32F103_IAR / STM32F10xFWLib / inc / lcd.h
1 /******************** (C) COPYRIGHT 2007 STMicroelectronics ********************\r
2 * File Name          : lcd.h\r
3 * Author             : MCD Application Team\r
4 * Date First Issued  : mm/dd/yyyy\r
5 * Description        : This file contains all the functions prototypes for the\r
6 *                      lcd software driver.\r
7 ********************************************************************************\r
8 * History:\r
9 * mm/dd/yyyy\r
10 ********************************************************************************\r
11 * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
12 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.\r
13 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,\r
14 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE\r
15 * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING\r
16 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
17 *******************************************************************************/\r
18 \r
19 /* Define to prevent recursive inclusion -------------------------------------*/\r
20 #ifndef __LCD_H\r
21 #define __LCD_H\r
22 \r
23 /* Includes ------------------------------------------------------------------*/\r
24 #include "stm32f10x_lib.h"\r
25 \r
26 /* Exported types ------------------------------------------------------------*/\r
27 /* Exported constants --------------------------------------------------------*/\r
28 /* LCD Registers */\r
29 #define R0             0x00\r
30 #define R1             0x01\r
31 #define R2             0x02\r
32 #define R3             0x03\r
33 #define R5             0x05\r
34 #define R6             0x06\r
35 #define R13            0x0D\r
36 #define R14            0x0E\r
37 #define R15            0x0F\r
38 #define R16            0x10\r
39 #define R17            0x11\r
40 #define R18            0x12\r
41 #define R19            0x13\r
42 #define R20            0x14\r
43 #define R21            0x15\r
44 #define R22            0x16\r
45 #define R23            0x17\r
46 #define R24            0x18\r
47 #define R25            0x19\r
48 #define R26            0x1A\r
49 #define R27            0x1B\r
50 #define R28            0x1C\r
51 #define R29            0x1D\r
52 #define R30            0x1E\r
53 #define R31            0x1F\r
54 #define R32            0x20\r
55 #define R36            0x24\r
56 #define R37            0x25\r
57 #define R40            0x28\r
58 #define R43            0x2B\r
59 #define R45            0x2D\r
60 #define R49            0x31\r
61 #define R50            0x32\r
62 #define R51            0x33\r
63 #define R52            0x34\r
64 #define R53            0x35\r
65 #define R55            0x37\r
66 #define R59            0x3B\r
67 #define R60            0x3C\r
68 #define R61            0x3D\r
69 #define R62            0x3E\r
70 #define R63            0x3F\r
71 #define R64            0x40\r
72 #define R65            0x41\r
73 #define R66            0x42\r
74 #define R67            0x43\r
75 #define R68            0x44\r
76 #define R69            0x45\r
77 #define R70            0x46\r
78 #define R71            0x47\r
79 #define R72            0x48\r
80 #define R73            0x49\r
81 #define R74            0x4A\r
82 #define R75            0x4B\r
83 #define R76            0x4C\r
84 #define R77            0x4D\r
85 #define R78            0x4E\r
86 #define R79            0x4F\r
87 #define R80            0x50\r
88 #define R118           0x76\r
89 #define R134           0x86\r
90 #define R135           0x87\r
91 #define R136           0x88\r
92 #define R137           0x89\r
93 #define R139           0x8B\r
94 #define R140           0x8C\r
95 #define R141           0x8D\r
96 #define R143           0x8F\r
97 #define R144           0x90\r
98 #define R145           0x91\r
99 #define R146           0x92\r
100 #define R147           0x93\r
101 #define R148           0x94\r
102 #define R149           0x95\r
103 #define R150           0x96\r
104 #define R151           0x97\r
105 #define R152           0x98\r
106 #define R153           0x99\r
107 #define R154           0x9A\r
108 #define R157           0x9D\r
109 #define R192           0xC0\r
110 #define R193           0xC1\r
111 \r
112 /* LCD Control pins */\r
113 #define CtrlPin_NCS    GPIO_Pin_2   /* PB.02 */\r
114 #define CtrlPin_RS     GPIO_Pin_7   /* PD.07 */\r
115 #define CtrlPin_NWR    GPIO_Pin_15  /* PD.15 */\r
116 \r
117 /* LCD color */\r
118 #define White          0xFFFF\r
119 #define Black          0x0000\r
120 #define Blue           0x001F\r
121 #define Orange         0x051F\r
122 #define Red            0xF800\r
123 #define Magenta        0xF81F\r
124 #define Green          0x07E0\r
125 #define Cyan           0x7FFF\r
126 #define Yellow         0xFFE0\r
127 \r
128 #define Line0          0\r
129 #define Line1          24\r
130 #define Line2          48\r
131 #define Line3          72\r
132 #define Line4          96\r
133 #define Line5          120\r
134 #define Line6          144\r
135 #define Line7          168\r
136 #define Line8          192\r
137 #define Line9          216\r
138 \r
139 #define Horizontal     0x00\r
140 #define Vertical       0x01\r
141 \r
142 /* Exported macro ------------------------------------------------------------*/\r
143 /* Exported functions ------------------------------------------------------- */\r
144 /*----- High layer function -----*/\r
145 void LCD_Init(void);\r
146 void LCD_SetTextColor(vu16 Color);\r
147 void LCD_SetBackColor(vu16 Color);\r
148 void LCD_ClearLine(u8 Line);\r
149 void LCD_Clear(void);\r
150 void LCD_SetCursor(u8 Xpos, u16 Ypos);\r
151 void LCD_DrawChar(u8 Xpos, u16 Ypos, uc16 *c);\r
152 void LCD_DisplayChar(u8 Line, u16 Column, u8 Ascii);\r
153 void LCD_DisplayStringLine(u8 Line, u8 *ptr);\r
154 void LCD_DisplayString(u8 Line, u8 *ptr);\r
155 void LCD_ScrollText(u8 Line, u8 *ptr);\r
156 void LCD_SetDisplayWindow(u8 Xpos, u16 Ypos, u8 Height, u16 Width);\r
157 void LCD_DrawLine(u8 Xpos, u16 Ypos, u16 Length, u8 Direction);\r
158 void LCD_DrawRect(u8 Xpos, u16 Ypos, u8 Height, u16 Width);\r
159 void LCD_DrawCircle(u8 Xpos, u16 Ypos, u16 Radius);\r
160 void LCD_DrawMonoPict(uc32 *Pict);\r
161 void LCD_DrawBMP(u32 BmpAddress);\r
162 \r
163 /*----- Medium layer function -----*/\r
164 void LCD_WriteReg(u8 LCD_Reg, u8 LCD_RegValue);\r
165 u8 LCD_ReadReg(u8 LCD_Reg);\r
166 void LCD_WriteRAM(u16 RGB_Code);\r
167 u16  LCD_ReadRAM(void);\r
168 void LCD_PowerOn(void);\r
169 void LCD_DisplayOn(void);\r
170 void LCD_DisplayOff(void);\r
171 \r
172 /*----- Low layer function -----*/\r
173 void LCD_CtrlLinesConfig(void);\r
174 void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, u16 CtrlPins, BitAction BitVal);\r
175 void LCD_SPIConfig(void);\r
176 \r
177 #endif /* __LCD_H */\r
178 \r
179 /******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/\r