Files
hantai_project/code/qt_lvgl/hal_drive.h
T
2026-02-25 21:15:54 +08:00

95 lines
2.3 KiB
C

// 这部分 操作需要 通过c 来 实现
#ifndef HAL_DRIVE_H
#define HAL_DRIVE_H
#if __cplusplus
extern "C"{
#endif
#include "lvgl/lvgl.h"
#include "lvgl/lv_conf.h"
//touch
extern int touch_pass,touch_x,touch_y;
typedef struct
{
unsigned int adc_x;
unsigned int adc_y;
int pix_x;
int pix_y;
char move_flag:1;
char c:1; //有按键按下
char d:1; //成功读取adc值
}touch_device;
extern touch_device t0;
//LCD重要参数集
typedef struct
{
unsigned int width; //LCD 宽度
unsigned int height; //LCD 高度
unsigned int id; //LCD ID
unsigned char dir; //横屏还是竖屏控制:0,竖屏;1,横屏。
unsigned char wramcmd; //开始写gram指令
unsigned char setxcmd; //设置x坐标指令
unsigned char setycmd; //设置y坐标指令
}_lcd_dev;
extern _lcd_dev lcddev; //管理LCD重要参数
#define COLOR_16 int
#define WHITE 0xFFFF
#define BLACK 0x0000
#define BLUE 0x001F
#define BRED 0XF81F
#define GRED 0XFFE0
#define GBLUE 0X07FF
#define RED 0xF800
#define MAGENTA 0xF81F
#define GREEN 0x07E0
#define CYAN 0x7FFF
#define YELLOW 0xFFE0
#define BROWN 0XBC40 //棕色
#define BRRED 0XFC07 //棕红色
#define GRAY 0X8430 //灰色
//GUI颜色
#define DARKBLUE 0X01CF //深蓝色
#define LIGHTBLUE 0X7D7C //浅蓝色
#define GRAYBLUE 0X5458 //灰蓝色
//以上三色为PANEL的颜色
#define LIGHTGREEN 0X841F //浅绿色
//#define LIGHTGRAY 0XEF5B //浅灰色(PANNEL)
#define LGRAY 0XC618 //浅灰色(PANNEL),窗体背景色
#define LGRAYBLUE 0XA651 //浅灰蓝色(中间层颜色)
#define LBBLUE 0X2B12 //浅棕蓝色(选择条目的反色)
extern unsigned long run_tick;
unsigned long HAL_GetTick();
extern int LCD_FPS_d;
extern int LCD_busy;
extern int LCD_updata_flag;
extern int LCD_buffer[240][320];
void onems_loop();
void thred_loop();
void LCD_updata();
void LCD_SetCursor(int Xpos,int Ypos); //设置光标位置
void LCD_SetColor(int color); //设置光标位置
void LCD_full(int color);
void LCD_ShowString(unsigned int x,unsigned int y,char *p,unsigned char size,unsigned int bg,unsigned int color);
#if __cplusplus
}
#endif
#endif // HAL_DRIVE_H