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

📄 dc.h

📁 STM32 单片机例程
💻 H
字号:
#ifndef __DC_H
#define __DC_H

#define RED        (u16)0xf800
#define GREEN      0x07e0
#define BLUE       0x001f
#define WHITE      0xffff
#define BLACK      0x0000
#define YELLOW     0xFFE0
#define GREY       0xefbd//灰色

#define  RGB565(R,G,B) ((R<<11)|(G<<5)|(B))

//*
//将8*8 Y方向阵列做 X方向转换
void MODY8(uint8 * p);

//将8*16 Y方向阵列做 X方向转换(用于8*16 ASCII)
void MODY16(uint8 * p);

//将16*16 Y方向阵列做 X方向转换(主要用于16*16 汉字)
void MODY32(uint8 * p);

/****************************************************************
函数名:LCD写1个8*16 ASCII字符函数
入口参数:x,横向坐标,由左到右分别是0~240-1 
          y,纵向坐标,由上到下分别为0~320-1
          CharColaor,字符的颜色 
          CharBackColor,字符背景颜色 
         ASCIICode,相应字符的ASCII码
也就是说,320240分辨率的显示屏,横向能显示240/8个ASCII字符,竖向能显示20行
返回值:无

*****************************************************************/
void LCDWriteEN(u16 x, u16 y, u16 CharColor, u8 ASCIICode);

/****************************************************************
函数名:LCD写1个16*24 ASCII字符函数
入口参数:x,横向坐标,由左到右分别是0~240-1 
          y,纵向坐标,由上到下分别为0~320-1
          CharColaor,字符的颜色 
          CharBackColor,字符背景颜色 
         ASCIICode,相应字符的ASCII码
也就是说,320240分辨率的显示屏,横向能显示240/16个ASCII字符,竖向能显示20行
返回值:无
*****************************************************************/
void LCDWriteEN24(u16 x, u16 y, u16 CharColor, u8 ASCIICode);

/****************************************************************
函数名:LCD写1个16*16 汉字字符函数
入口参数:x,横向坐标,由左到右分别是0~240-1 
          y,纵向坐标,由上到下分别为0~320-1
          CharColaor,字符的颜色 
          CharBackColor,字符背景颜色 
         ASCIICode,相应字符的ASCII码
也就是说,320240分辨率的显示屏,横向能显示30个ASCII字符,竖向能显示20行
返回值:无

*****************************************************************/
void LCDWriteCN(u16 x, u16 y, u16 CharColor, u8 *p);

/****************************************************************
函数名:LCD写1个16*16 汉字字符函数
入口参数:x,横向坐标,由左到右分别是0~240-1 
          y,纵向坐标,由上到下分别为0~320-1
          CharColaor,字符的颜色 
          CharBackColor,字符背景颜色 
         ASCIICode,相应字符的ASCII码
也就是说,320240分辨率的显示屏,横向能显示240/16个ASCII字符,竖向能显示20行
返回值:无

*****************************************************************/
void LCDWriteCN24(u16 x, u16 y, u16 CharColor, u8 *p);

/************************************************************
函数名:LCD写字符串函数8*16ASCII,16*16汉字
功能:向指定位置写入一个或多个字符,本函数带自动换行功能
入口参数:x,横向坐标,由左到右分别是0~240-1 
          y,纵向坐标,由上到下分别为0~320-1
          CharColaor,字符的颜色
          *p 指向要写的字符串
返回值:无
*************************************************************/
void LCD_WriteString16(uint16 x, uint16 y, uint16 CharColor, uint8* p);

void LCD_WriteString(uint16 x, uint16 y, uint16 CharColor, uint8* p, uint8 font);

/************************************************************
函数名:LCD写字符串函数8*16ASCII,24*24汉字
功能:向指定位置写入一个或多个字符,本函数带自动换行功能
入口参数:x,横向坐标,由左到右分别是0~240-1 
          y,纵向坐标,由上到下分别为0~320-1
          CharColaor,字符的颜色
          *p 指向要写的字符串
返回值:无
*************************************************************/
void LCD_WriteString24(uint16 x, uint16 y, uint16 CharColor, uint8* p);

/*********************************************************
函数名:SPI取ASCII码子程序
输入参数:u8 ASCII 输入的ASCII码,如'A'
          BaseAddr 基址 即ASCII显示代码在FLASH中的启示位置
返回值:无
说明:输入一个ASCII码,取得它在SPI FLASH中的16Byte显示代码
并将其存放到一个16byte的ASCII显示缓冲CharBuffer[]中
**********************************************************/
//void GetASCIICode(u8* buf, u8 ASCII)
void GetASCIICode(u8* buf, u8 ASCII, u8 dot);

/*********************************************************
函数名:SPI中文显示码子程序
输入参数:u16 ASCII 输入的中文,如"我"
          BaseAddr 基地 即显示代码在FLASH中的起始位置
返回值:无
说明:输入一个中文,取得它在SPI FLASH中的32Byte显示代码
并将其存放到一个32byte的显示缓冲ChineseBuffer[]
**********************************************************/
void GetChineseCode(u8* dot, u8 *p);

/*********************************************************
函数名:SPI中文显示码子程序
输入参数:u16 ASCII 输入的中文,如"我"
          BaseAddr 基地 即显示代码在FLASH中的起始位置
返回值:无
说明:输入一个中文,取得它在SPI FLASH中的32Byte显示代码
并将其存放到一个32byte的显示缓冲ChineseBuffer[]
**********************************************************/
void GetChineseCode24(u8* dot, u8 *p);


/*----------------------------------------------------------------------
调用该成员函数用指定的固体色填充矩形
x: 矩形左上角的X逻辑坐标。  
y: 矩形左上角的Y逻辑坐标。  
Width: 指定矩形的宽度。  
Height: 指定矩形的高度。  
Color: 填充颜色
----------------------------------------------------------------------*/
void FillSolidRect(u16 x, u16 y, u16 Width, u16 Height,  u16 Color);

u16 LCD_SET_Color(u16 color_front, u16 color_back, unsigned char Alpha);


void TFTHLine(u16 x,u16 y,u16 len, u16 color,u8 cover);

/**************************************************************
** 函数名:TFTRectFill
** 功能:填充矩形
** 注意事项:
***************************************************************/
void TFTRectFill(u16 x0, u16 y0, u16 x1, u16 y1, u16 color,u8 cv);


/*
写入1块图片
下面是利用GRAM窗体高速写入
x
y
w
h
pbuf
*/
void LCD_WriteBlock(u16 x, u16 y, u16 w, u16 h, u16 *pbuf);


void LCD_ReadBlock(u16 x, u16 y, u16 w, u16 h, u16 *pbuf);



#endif

⌨️ 快捷键说明

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