82 lines
2.2 KiB
C
82 lines
2.2 KiB
C
#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);
|
||
|