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

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

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
STM32F401是一种高性能的微控制器,具有丰富的特性和强大的处理能力。它集成了SPI接口,它是一种高速串行通讯接口,常用于外围设备与微控制器之间的通信。 ILI9341是一款广泛应用于液晶显示的控制器芯片,它能够控制彩色TFT LCD显示的图形和文本。STM32F401与ILI9341之间使用SPI接口进行通信,实现从控制器到显示的数据传输。 StemWin1.2.0则是一款图形库软件包,可以在嵌入式系统中实现图形用户界面(GUI)。它为开发者提供了丰富的图形绘制和交互功能,例如按钮、文本框、图像等,可以为用户提供更好的操作体验。 在使用这些组件时,首先需要配置STM32F401的SPI接口。通过对SPI寄存器的设置,可以定义SPI的工作模式、速率、数据位宽等参数。然后,将ILI9341连接到STM32F401的SPI接口,并根据ILI9341的要求进行初始化和配置。通过SPI接口,STM32F401可以向ILI9341发送指令和数据,控制显示的输出。 接下来,可以利用StemWin1.2.0库来实现具体的UI界面。开发者可以使用StemWin提供的API函数,调用各种绘制函数、事件处理函数等,实现各种界面元素的绘制和交互。开发者还可以根据需要,自定义界面的布局、样式和动画效果。 通过以上的步骤,可以搭建一个基于STM32F401、ILI9341和StemWin1.2.0的嵌入式系统。这样的系统具有强大的处理能力、高速的数据传输速率和丰富的GUI功能,非常适合用于嵌入式应用领域,例如智能家居控制、工业自动化控制等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值