⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ili932x_io.c

📁 STM32 单片机例程
💻 C
字号:

#include "..\main\include.h"

//#include "include.h"
#define Bank1_LCD_DATA    ((u32)0x60020000)    //disp Data ADDR
#define Bank1_LCD_CMD    ((u32)0x60000000)	 //disp Reg ADDR


/******************************************
函数名:LCD写命令函数
功能:向LCD指定位置写入应有命令或数据
入口参数:Index 要寻址的寄存器地址
          par 写入的数据或命令值
返回值:无
******************************************/
//带参数的命令写入
void LCD_WR_CmdPar(u16 Index, u16 par)
/*
{
   CS_TFT_L();
   
   RS_TFT_L();
   //RD_TFT_H();
   DataToWrite(Index);
   WR_TFT_L();
   WR_TFT_H();
   RS_TFT_H();
   
   //----------------------
   DataToWrite(par);       
   WR_TFT_L();
   WR_TFT_H();
   
   CS_TFT_H();
}
*/
{	
	*(vu16 *) (Bank1_LCD_CMD)= Index;	
	*(vu16 *) (Bank1_LCD_DATA)= par;
}


//不带参数的命令写入
void LCD_WR_Cmd(u16 cmd)
/*
{
   CS_TFT_L();
   
   RS_TFT_L();
   DataToWrite(cmd);
   WR_TFT_L();
   WR_TFT_H();
   RS_TFT_H();
   
   CS_TFT_H();
}
*/
{	
	*(vu16 *) (Bank1_LCD_CMD)= cmd;
}


void LCD_WR_DATA(u16 par)
/*
{
   CS_TFT_L();
   
   DataToWrite(par);
   WR_TFT_L();
   WR_TFT_H();
   
   CS_TFT_H();
}
*/
{   
	*(vu16 *) (Bank1_LCD_DATA)= par; 	
}

u16 LCD_RD_DATA(void)
{
 u16 temp=0;
	
	temp=*(vu16 *) (Bank1_LCD_DATA); 	//虚读一次
	temp=*(vu16 *) (Bank1_LCD_DATA);   //

	return(temp);	
}

void LCD_SetBox(u16 x, u16 y, u16 Width, u16 Height)
{
   LCD_WR_CmdPar(0x20, x);//起始X坐标
   LCD_WR_CmdPar(0x21, y);//起始Y坐标
   
   LCD_WR_CmdPar(0x0050, x);//水平 GRAM起始位置
   LCD_WR_CmdPar(0x0051, x+Width-1);//水平GRAM终止位置
   LCD_WR_CmdPar(0x0052, y);//垂直GRAM起始位置
   LCD_WR_CmdPar(0x0053, y+Height-1);//垂直GRAM终止位置
}

//读取LCD上 1个像素的颜色值
u16 LCD_ReadPixel(u16 x, u16 y)
{u16 temp;
   
    LCD_WR_CmdPar(0x20, x);
    LCD_WR_CmdPar(0x21, y);
    LCD_WR_Cmd(0x0022);
    
    temp=LCD_RD_DATA();
    
    return(temp);
}

//画1个像素
void DrawPixel(u16 x, u16 y, u16 Color)
{
   LCD_WR_CmdPar(0x20, x);//起始X坐标
   LCD_WR_CmdPar(0x21, y);//起始Y坐标
   
   //[下面代码,部分TFT需要,部分可以不用
   LCD_WR_CmdPar(0x0050, x);//水平 GRAM起始位置
   LCD_WR_CmdPar(0x0051, x);//水平GRAM终止位置
   LCD_WR_CmdPar(0x0052, y);//垂直GRAM起始位置
   LCD_WR_CmdPar(0x0053, y);//垂直GRAM终止位置
   //-----------------------------------]
   
   LCD_WR_Cmd(0x0022);//开始读/写
   
   LCD_WR_DATA(Color);
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -