微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > stm32 驱动 TFT LCD

stm32 驱动 TFT LCD

时间:11-26 来源:互联网 点击:

062#define R59 0x3B

063#define R60 0x3C

064#define R61 0x3D

065#define R62 0x3E

066#define R63 0x3F

067#define R64 0x40

068#define R65 0x41

069#define R66 0x42

070#define R67 0x43

071#define R68 0x44

072#define R69 0x45

073#define R70 0x46

074#define R71 0x47

075#define R72 0x48

076#define R73 0x49

077#define R74 0x4A

078#define R75 0x4B

079#define R76 0x4C

080#define R77 0x4D

081#define R78 0x4E

082#define R79 0x4F

083#define R80 0x50

084#define R81 0x51

085#define R82 0x52

086#define R83 0x53

087#define R96 0x60

088#define R97 0x61

089#define R106 0x6A

090#define R118 0x76

091#define R128 0x80

092#define R129 0x81

093#define R130 0x82

094#define R131 0x83

095#define R132 0x84

096#define R133 0x85

097#define R134 0x86

098#define R135 0x87

099#define R136 0x88

100#define R137 0x89

101#define R139 0x8B

102#define R140 0x8C

103#define R141 0x8D

104#define R143 0x8F

105#define R144 0x90

106#define R145 0x91

107#define R146 0x92

108#define R147 0x93

109#define R148 0x94

110#define R149 0x95

111#define R150 0x96

112#define R151 0x97

113#define R152 0x98

114#define R153 0x99

115#define R154 0x9A

116#define R157 0x9D

117#define R192 0xC0

118#define R193 0xC1

119#define R229 0xE5

120

121

122/*硬件相关的宏定义*/

123#define LCD_FAST_IO 1 //定义是否使用快速IO 建议使用快速IO,效率更高

124

125//-----------------LCD端口定义----------------

126/********************************************************************************/

127

128#define LCD_GPIO_LED_PORT GPIOC

129#define LCD_GPIO_LED_PIN GPIO_Pin_10

130

131#define LCD_GPIO_CS_PORT GPIOC

132#define LCD_GPIO_CS_PIN GPIO_Pin_9

133

134

135#define LCD_GPIO_RS_PORT GPIOC

136#define LCD_GPIO_RS_PIN GPIO_Pin_8

137

138

139#define LCD_GPIO_WR_PORT GPIOC

140#define LCD_GPIO_WR_PIN GPIO_Pin_7

141

142

143#define LCD_GPIO_RD_PORT GPIOC

144#define LCD_GPIO_RD_PIN GPIO_Pin_6

145

146//16位数据所在端口,PB0~15作为数据线

147#define LCD_GPIO_DATA_PORT GPIOB

148#define LCD_GPIO_DATA_PIN GPIO_Pin_All

149

150#if LCD_FAST_IO == 1 //快速IO

151

152#define Set_Cs GPIOC->BSRR=1<9 //片选端口 PC9

153#define Set_Rs GPIOC->BSRR=1<8 //数据/命令 PC8

154#define Set_Wr GPIOC->BSRR=1<7 //写数据 PC7

155#define Set_Rd GPIOC->BSRR=1<6 //读数据 PC6

156

157#define Clr_Cs GPIOC->BRR=1<9 //片选端口 PC9

158#define Clr_Rs GPIOC->BRR=1<8 //数据/命令 PC8

159#define Clr_Wr GPIOC->BRR=1<7 //写数据 PC7

160#define Clr_Rd GPIOC->BRR=1<6 //读数据 PC6

161

162

163#else

164

165#define Set_Cs {GPIO_SetBits(LCD_GPIO_CS_PORT,LCD_GPIO_CS_PIN);}

166#define Clr_Cs {GPIO_ResetBits(LCD_GPIO_CS_PORT,LCD_GPIO_CS_PIN);}

167#define Set_Rs {GPIO_SetBits(LCD_GPIO_RS_PORT,LCD_GPIO_RS_PIN);}

168#define Clr_Rs {GPIO_ResetBits(LCD_GPIO_RS_PORT,LCD_GPIO_RS_PIN);}

169#define Set_Wr {GPIO_SetBits(LCD_GPIO_WR_PORT,LCD_GPIO_WR_PIN);}

170#define Clr_Wr {GPIO_ResetBits(LCD_GPIO_WR_PORT,LCD_GPIO_WR_PIN);}

171#define Set_Rd {GPIO_SetBits(LCD_GPIO_RD_PORT,LCD_GPIO_RD_PIN);}

172#define Clr_Rd {GPIO_ResetBits(LCD_GPIO_RD_PORT,LCD_GPIO_RD_PIN);}

173

174#endif

175

176#define Set_LED {GPIO_SetBits(LCD_GPIO_LED_PORT,LCD_GPIO_LED_PIN);}

177#define Clr_LED {GPIO_ResetBits(LCD_GPIO_LED_PORT,LCD_GPIO_LED_PIN);}

178

179#define Write_Data(DataValue) {GPIO_Write(LCD_GPIO_DATA_PORT,DataValue);}

180

181//直接操作寄存器读取,使用库函数读取I/O有问题,原因不详

182#define Read_Data() (LCD_GPIO_DATA_PORT ->IDR) //必须使用宏定义,写成函数会有问题

183//#define Read_Data() (GPIO_ReadInputData(LCD_GPIO_DATA_PORT)) //这句有问题

184

185

186

187//写8位数据函数

188//用宏定义,提高速度.

189#define LCD_WR_DATA(data){

190Set_Rs;

191Clr_Cs;

192Write_Data(data);

193Clr_Wr;

194Set_Wr;

195Set_Cs;

196}

197

198

199/********************************************************************************/

200

201//画笔颜色

202#define WHITE 0xFFFF

203#define BLACK 0x0000

204#define BLUE 0x001F

205#define BRED 0XF81F

206#define GRED 0XFFE0

207#define GBLUE 0X07FF

208#define RED 0xF800

209#define MAGENTA 0xF81F

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top