STM32F401 ILI9235液晶屏屏 2.8寸 驱动心得。

本文详细介绍了如何使用STM32F401驱动2.8寸ILI9235液晶屏,包括GPIO初始化、液晶屏配置、写指令、写数据等关键步骤,并提供了相应的代码实现。通过这些步骤,可以成功地对液晶屏进行初始化和操作,为后续的STEMWIN移植奠定基础。
摘要由CSDN通过智能技术生成

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值