ILI9235液晶屏屏幕
ILI9325有一个16位的索引寄存器(IR),一个18位的写数据寄存器(WDR),和一个18位的读数据寄存器(RDR)。
GPIO初始化,看电路图也就知道了改初始化哪几组引脚,特别注意输入输出模式的选择。
在驱动前需要些三个函数,一个是写指令函数,一个写数据函数。 还有一个读取IC函数。在这三个函数的基础上,便可以促使化LCD了。
这一段代码就不用深入,从厂家给的程序复制就好。
Write_Cmd_Data(0x0001,0x0100); //0001,0100
Write_Cmd_Data(0x0002,0x0700);
Write_Cmd_Data(0x0003,0x1030);
delayms(10);
Write_Cmd_Data(0x0004,0x0000);
Write_Cmd_Data(0x0008,0x0202); 0008,0202
Write_Cmd_Data(0x0009,0x0000);
Write_Cmd_Data(0x000a,0x0000);
Write_Cmd_Data(0x000c,0x0000);
Write_Cmd_Data(0x000d,0x0000);
Write_Cmd_Data(0x000f,0x0000);
Write_Cmd_Data(0x0010,0x0000);
Write_Cmd_Data(0x0011,0x0000);
Write_Cmd_Data(0x0012,0x0000);
Write_Cmd_Data(0x0013,0x0000);
delayms(10);
Write_Cmd_Data(0x0010,0x17b0);
Write_Cmd_Data(0x0011,0x0037);
delayms(10);
Write_Cmd_Data(0x0012,0x0138);
delayms(10);
Write_Cmd_Data(0x0013,0x1500);
Write_Cmd_Data(0x0029,0x000d);
delayms(10);
Write_Cmd_Data(0x0020,0x0000);
Write_Cmd_Data(0x0021,0x0000);
在做好这些步骤后,我们还需要这几个函数,清屏函数,坐标函数,打点函数,划线函数。这几个函数为实现STEMWIN移植打下基础,我这里不写字符串显示函数,就是因为移植了STEMwin的原因。
下面这些宏定义出各个颜色的指令,为了方便使用。指令哪里来的查手册。
#define White 0xFFFF
#define Black 0x0000
#define Blue 0x001F
#define Blue2 0x051F
#define Red 0xF800
#define Magenta 0xF81F
#define Green 0x07E0
#define Cyan 0x7FFF
#define Yellow 0xFFE0
这些工作我都在工程下的perphera下面的ILI9325.C和ILI9325.H中实现了。附上代码。。。。
#include "ILI93XX.h"
#include "Delay.h"
#define MAX_X 240
#define MAX_Y 320
#define CS_H GPIO_SetBits(GPIOC,GPIO_Pin_9) //CS -- PC9
#define CS_L GPIO_ResetBits(GPIOC,GPIO_Pin_9)
#define RS_H GPIO_SetBits(GPIOC,GPIO_Pin_8) //RS -- PC8
#define RS_L GPIO_ResetBits(GPIOC,GPIO_Pin_8)
#define WR_H GPIO_SetBits(GPIOC,GPIO_Pin_7) //RW -- PC7
#define WR_L GPIO_ResetBits(GPIOC,GPIO_Pin_7)
#define RD_H GPIO_SetBits(GPIOC,GPIO_Pin_6) //RD -- PC6
#define RD_L GPIO_ResetBits(GPIOC,GPIO_Pin_6)
#define PortData (GPIOB->ODR) //输出数据端口 PB
/*=========================================
*-函数功能 : 液晶相关端口初始化
*-输入参数 : 无
=========================================*/
void LCD_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHB1PeriphC