147 lines
3.4 KiB
C
147 lines
3.4 KiB
C
|
|
#ifndef _Lcd_Driver_H
|
|||
|
|
#define _Lcd_Driver_H
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#include "sys.h"
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**************************************************************************************/
|
|||
|
|
|
|||
|
|
//STM32H7<48><37><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>-HAL<41>⺯<EFBFBD><E2BAAF><EFBFBD>汾
|
|||
|
|
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
|
|||
|
|
//Ƕ<><C7B6>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
|
|||
|
|
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
|
|||
|
|
|
|||
|
|
/**************************************************************************************/
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>LCD<43>ijߴ<C4B3>
|
|||
|
|
|
|||
|
|
#if USE_HORIZONTAL==1 //ʹ<>ú<EFBFBD><C3BA><EFBFBD>
|
|||
|
|
#define X_MAX_PIXEL 160
|
|||
|
|
#define Y_MAX_PIXEL 128
|
|||
|
|
#else
|
|||
|
|
#define X_MAX_PIXEL 128
|
|||
|
|
#define Y_MAX_PIXEL 160
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//LCD<43><44>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
u16 width; //LCD <20><><EFBFBD><EFBFBD>
|
|||
|
|
u16 height; //LCD <20>߶<EFBFBD>
|
|||
|
|
u16 id; //LCD ID
|
|||
|
|
u8 dir; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
u16 wramcmd; //<2F><>ʼдgramָ<6D><D6B8>
|
|||
|
|
u16 setxcmd; //<2F><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|||
|
|
u16 setycmd; //<2F><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|||
|
|
}_lcd_dev;
|
|||
|
|
|
|||
|
|
//LCD<43><44><EFBFBD><EFBFBD>
|
|||
|
|
extern _lcd_dev lcddev; //<2F><><EFBFBD><EFBFBD>LCD<43><44>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
|
|||
|
|
#define RED 0xf800
|
|||
|
|
#define GREEN 0x07e0
|
|||
|
|
#define BLUE 0x001f
|
|||
|
|
#define WHITE 0xffff
|
|||
|
|
#define BLACK 0x0000
|
|||
|
|
#define YELLOW 0xFFE0
|
|||
|
|
#define GRAY0 0xEF7D //<2F><>ɫ0 3165 00110 001011 00101
|
|||
|
|
#define GRAY1 0x8410 //<2F><>ɫ1 00000 000000 00000
|
|||
|
|
#define GRAY2 0x4208 //<2F><>ɫ2 1111111111011111
|
|||
|
|
|
|||
|
|
/////////////////////////////////////<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>///////////////////////////////////
|
|||
|
|
//֧<>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD>֧<EFBFBD><D6A7>8/16λģʽ<C4A3>л<EFBFBD>
|
|||
|
|
#define USE_HORIZONTAL 0 //<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ʹ<EFBFBD>ú<EFBFBD><C3BA><EFBFBD> 0,<2C><>ʹ<EFBFBD><CAB9>. 1,ʹ<><CAB9>.
|
|||
|
|
//ʹ<><CAB9>ģ<EFBFBD><C4A3>SPI<50><49>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8>
|
|||
|
|
#define LCD_SDA_SET HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_SET) //PB15<31><35>1
|
|||
|
|
|
|||
|
|
#define LCD_SCL_SET HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_SET) //PB13<31><33>1
|
|||
|
|
|
|||
|
|
#define LCD_CS_SET HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_SET) //PB12<31><32>1
|
|||
|
|
|
|||
|
|
#define LCD_RST_Set HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_SET) //PB14<31><34>1
|
|||
|
|
|
|||
|
|
#define LCD_RS_SET HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET) //PB1<42><31>1
|
|||
|
|
|
|||
|
|
#define LCD_BLK_SET HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET) //PB0<42><30>1
|
|||
|
|
|
|||
|
|
|
|||
|
|
//Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EAB6A8>
|
|||
|
|
|
|||
|
|
#define LCD_SDA_CLR HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_RESET) //PB15<31><35>0 //DIN
|
|||
|
|
|
|||
|
|
#define LCD_SCL_CLR HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_RESET) //PB13<31><33>0 //CLK
|
|||
|
|
|
|||
|
|
#define LCD_CS_CLR HAL_GPIO_WritePin(GPIOB,GPIO_PIN_12,GPIO_PIN_RESET) //PB12<31><32>0/CS
|
|||
|
|
|
|||
|
|
#define LCD_RST_Clr HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14,GPIO_PIN_RESET) //PB14<31><34>0 //RES
|
|||
|
|
|
|||
|
|
#define LCD_RS_CLR HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET) //PB1<42><31>0 //DC
|
|||
|
|
|
|||
|
|
#define LCD_BLK_CLR HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET) //PB0<42><30>0 //DIN
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
void LCD_GPIO_Init(void);//<2F><>ʼ<EFBFBD><CABC>IO<49><4F>
|
|||
|
|
void SPI_WriteData(u8 Data);//STM32_ģ<5F><C4A3>SPIдһ<D0B4><D2BB><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ݵײ㺯<D7B2><E3BAAF>
|
|||
|
|
void LCD_WriteData_16Bit(uint16_t Data);//<2F><>Һ<EFBFBD><D2BA><EFBFBD><EFBFBD>дһ<D0B4><D2BB>16λ<36><CEBB><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void Lcd_WriteIndex(u8 Index);//д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ
|
|||
|
|
void Lcd_WriteData(u8 Data);// д<>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void Lcd_WriteReg(u8 Index,u8 Data);////д<>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
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);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**************************************************************************************/
|
|||
|
|
|
|||
|
|
//STM32H7<48><37><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>-HAL<41>⺯<EFBFBD><E2BAAF><EFBFBD>汾
|
|||
|
|
//DevEBox <20><>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD>
|
|||
|
|
//Ƕ<><C7B6>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>mcudev.taobao.com
|
|||
|
|
//<2F>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD>̣<EFBFBD>shop389957290.taobao.com
|
|||
|
|
|
|||
|
|
/**************************************************************************************/
|
|||
|
|
|
|||
|
|
|
|||
|
|
|