82 lines
2.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "sys.h"
//嵌入式开发网
//淘宝网站http://mcudev.taobao.com
//LCD重要参数集
typedef struct
{
u16 width; //LCD 宽度
u16 height; //LCD 高度
u16 id; //LCD ID
u8 dir; //横屏还是竖屏控制0竖屏1横屏。
u16 wramcmd; //开始写gram指令
u16 setxcmd; //设置x坐标指令
u16 setycmd; //设置y坐标指令
}_lcd_dev;
//LCD参数
extern _lcd_dev lcddev; //管理LCD重要参数
#define RED 0xf800
#define GREEN 0x07e0
#define BLUE 0x001f
#define WHITE 0xffff
#define BLACK 0x0000
#define YELLOW 0xFFE0
#define GRAY0 0xEF7D //灰色0 3165 00110 001011 00101
#define GRAY1 0x8410 //灰色1 00000 000000 00000
#define GRAY2 0x4208 //灰色2 1111111111011111
/////////////////////////////////////用户配置区///////////////////////////////////
//支持横竖屏快速定义切换支持8/16位模式切换
#define USE_HORIZONTAL 0 //定义是否使用横屏 0,不使用. 1,使用.
//使用模拟SPI作为测试
//液晶控制口置1操作语句宏定义
#define LCD_SDA_SET GPIO_SetBits(GPIOB,GPIO_Pin_15)
#define LCD_SCL_SET GPIO_SetBits(GPIOB,GPIO_Pin_13)
#define LCD_CS_SET GPIO_SetBits(GPIOB,GPIO_Pin_12)
#define LCD_RST_SET GPIO_SetBits(GPIOB,GPIO_Pin_14);//RST引脚输出为高
#define LCD_RS_SET GPIO_SetBits(GPIOC,GPIO_Pin_5)
#define LCD_BLK_SET GPIO_SetBits(GPIOB,GPIO_Pin_1)
//液晶控制口置0操作语句宏定义
#define LCD_SDA_CLR GPIO_ResetBits(GPIOB,GPIO_Pin_15)
#define LCD_SCL_CLR GPIO_ResetBits(GPIOB,GPIO_Pin_13)
#define LCD_CS_CLR GPIO_ResetBits(GPIOB,GPIO_Pin_12)
#define LCD_RST_CLR GPIO_ResetBits(GPIOB,GPIO_Pin_14);//RST引脚输出为低
#define LCD_RS_CLR GPIO_ResetBits(GPIOC,GPIO_Pin_5)
#define LCD_BLK_CLR GPIO_ResetBits(GPIOB,GPIO_Pin_1)
void LCD_GPIO_Init(void);//初始化IO口
void SPI_WriteData(u8 Data);//STM32_模拟SPI写一个字节数据底层函数
void LCD_WriteData_16Bit(uint16_t Data);//向液晶屏写一个16位数据
void Lcd_WriteIndex(u8 Index);//写控制器寄存器地址
void Lcd_WriteData(u8 Data);// 写寄存器数据
void Lcd_WriteReg(u8 Index,u8 Data);////写寄存器函数
u16 Lcd_ReadReg(u8 LCD_Reg);
void Lcd_Reset(void);
void Lcd_Init(void);
void Lcd_Clear(u16 Color);
void Lcd_SetXY(u16 x,u16 y);
void Gui_DrawPoint(u16 x,u16 y,u16 Data);
//unsigned int Lcd_ReadPoint(u16 x,u16 y);