147 lines
3.4 KiB
C
Raw Permalink Normal View History

2021-07-28 13:15:22 +08:00
#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
/**************************************************************************************/