123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- #pragma once
- #include "esp_err.h"
- #include "driver/gpio.h"
- // LCD分辨率定义
- #define LCD_H_RES (480) // 水平分辨率
- #define LCD_V_RES (480) // 垂直分辨率
- #define LCD_BIT_PER_PIXEL (18) // 每像素位数
- #define RGB_BIT_PER_PIXEL (16) // RGB每像素位数
- #define RGB_DATA_WIDTH (16) // RGB数据宽度
- #define RGB_BOUNCE_BUFFER_SIZE (LCD_H_RES * 10) // RGB反弹缓冲区大小
- // RGB接口引脚定义
- #define LCD_IO_RGB_DISP (-1) // RGB显示引脚,未使用
- #define LCD_IO_RGB_VSYNC (GPIO_NUM_21) // RGB垂直同步信号引脚
- #define LCD_IO_RGB_HSYNC (GPIO_NUM_14) // RGB水平同步信号引脚
- #define LCD_IO_RGB_DE (GPIO_NUM_47) // RGB数据使能引脚
- #define LCD_IO_RGB_PCLK (GPIO_NUM_48) // RGB像素时钟引脚
- // RGB数据引脚定义,从DB0到DB15
- #define LCD_IO_RGB_DATA0 (GPIO_NUM_13)
- #define LCD_IO_RGB_DATA1 (GPIO_NUM_12)
- #define LCD_IO_RGB_DATA2 (GPIO_NUM_11)
- #define LCD_IO_RGB_DATA3 (GPIO_NUM_10)
- #define LCD_IO_RGB_DATA4 (GPIO_NUM_9)
- #define LCD_IO_RGB_DATA5 (GPIO_NUM_46)
- #define LCD_IO_RGB_DATA6 (GPIO_NUM_3)
- #define LCD_IO_RGB_DATA7 (GPIO_NUM_20)
- #define LCD_IO_RGB_DATA8 (GPIO_NUM_19)
- #define LCD_IO_RGB_DATA9 (GPIO_NUM_8)
- #define LCD_IO_RGB_DATA10 (GPIO_NUM_18)
- #define LCD_IO_RGB_DATA11 (GPIO_NUM_17)
- #define LCD_IO_RGB_DATA12 (GPIO_NUM_16)
- #define LCD_IO_RGB_DATA13 (GPIO_NUM_15)
- #define LCD_IO_RGB_DATA14 (GPIO_NUM_7)
- #define LCD_IO_RGB_DATA15 (GPIO_NUM_6)
- // SPI接口引脚定义
- #define LCD_IO_SPI_CS (GPIO_NUM_45) // SPI片选引脚
- #define LCD_IO_SPI_SCL (GPIO_NUM_38) // SPI时钟引脚
- #define LCD_IO_SPI_SDA (GPIO_NUM_39) // SPI数据引脚
- #define LCD_IO_RST (-1) // 复位引脚,未使用
- // 背光控制引脚定义
- #define PIN_NUM_BK_LIGHT (40) // 背光控制引脚
- #define LCD_BK_LIGHT_ON_LEVEL (1) // 背光开启电平
- #define LCD_BK_LIGHT_OFF_LEVEL !LCD_BK_LIGHT_ON_LEVEL // 背光关闭电平
- // 触摸屏I2C接口定义
- #define TOUCH_HOST (I2C_NUM_1) // 触摸屏I2C主机
- #define PIN_NUM_TOUCH_SCL (GPIO_NUM_4) // 触摸屏I2C时钟引脚
- #define PIN_NUM_TOUCH_SDA (GPIO_NUM_5) // 触摸屏I2C数据引脚
- #define PIN_NUM_TOUCH_RST (GPIO_NUM_NC) // 触摸屏复位引脚,未使用
- #define PIN_NUM_TOUCH_INT (GPIO_NUM_NC) // 触摸屏中断引脚,未使用
- #define LCD_CS_Clr() gpio_set_level(LCD_IO_SPI_CS, 0)
- #define LCD_CS_Set() gpio_set_level(LCD_IO_SPI_CS, 1)
- #define LCD_SCK_Clr() gpio_set_level(LCD_IO_SPI_SCL, 0)
- #define LCD_SCK_Set() gpio_set_level(LCD_IO_SPI_SCL, 1)
- #define LCD_SDA_Clr() gpio_set_level(LCD_IO_SPI_SDA, 0)
- #define LCD_SDA_Set() gpio_set_level(LCD_IO_SPI_SDA, 1)
- /**
- * @brief 初始化LCD和触摸屏
- * @return
- * - ESP_OK 成功
- * - ESP_FAIL 失败
- */
- esp_err_t lcd_st7701_init(void);
- /**
- * 获取背光状态
- * @return true 亮,false 灭
- */
- bool lcd_st7701_get_blacklight();
- /**
- * @brief 打开LCD背光
- * @return
- * - ESP_OK 成功
- * - ESP_FAIL 失败
- */
- esp_err_t lcd_st7701_backlight_on(void);
- /**
- * @brief 关闭LCD背光
- * @return
- * - ESP_OK 成功
- * - ESP_FAIL 失败
- */
- esp_err_t lcd_st7701_backlight_off(void);
- //#pragma once
- //
- //#include "esp_err.h"
- //#include "driver/gpio.h"
- //
- //// LCD分辨率定义
- //#define LCD_H_RES (480) // 水平分辨率
- //#define LCD_V_RES (480) // 垂直分辨率
- //#define LCD_BIT_PER_PIXEL (18) // 每像素位数
- //#define RGB_BIT_PER_PIXEL (16) // RGB每像素位数
- //#define RGB_DATA_WIDTH (16) // RGB数据宽度
- //#define RGB_BOUNCE_BUFFER_SIZE (LCD_H_RES * 10) // RGB反弹缓冲区大小
- //
- //// RGB接口引脚定义
- //#define LCD_IO_RGB_DISP (-1) // RGB显示引脚,未使用
- //#define LCD_IO_RGB_VSYNC (GPIO_NUM_48) // RGB垂直同步信号引脚
- //#define LCD_IO_RGB_HSYNC (GPIO_NUM_47) // RGB水平同步信号引脚
- //#define LCD_IO_RGB_DE (GPIO_NUM_45) // RGB数据使能引脚
- //#define LCD_IO_RGB_PCLK (GPIO_NUM_38) // RGB像素时钟引脚
- //// RGB数据引脚定义,从DB0到DB15
- //#define LCD_IO_RGB_DATA0 (GPIO_NUM_21)
- //#define LCD_IO_RGB_DATA1 (GPIO_NUM_14)
- //#define LCD_IO_RGB_DATA2 (GPIO_NUM_13)
- //#define LCD_IO_RGB_DATA3 (GPIO_NUM_12)
- //#define LCD_IO_RGB_DATA4 (GPIO_NUM_11)
- //#define LCD_IO_RGB_DATA5 (GPIO_NUM_10)
- //#define LCD_IO_RGB_DATA6 (GPIO_NUM_9 )
- //#define LCD_IO_RGB_DATA7 (GPIO_NUM_46)
- //#define LCD_IO_RGB_DATA8 (GPIO_NUM_3 )
- //#define LCD_IO_RGB_DATA9 (GPIO_NUM_20)
- //#define LCD_IO_RGB_DATA10 (GPIO_NUM_19)
- //#define LCD_IO_RGB_DATA11 (GPIO_NUM_8 )
- //#define LCD_IO_RGB_DATA12 (GPIO_NUM_16)
- //#define LCD_IO_RGB_DATA13 (GPIO_NUM_15)
- //#define LCD_IO_RGB_DATA14 (GPIO_NUM_7)
- //#define LCD_IO_RGB_DATA15 (GPIO_NUM_6)
- //
- //
- //// SPI接口引脚定义
- //#define LCD_IO_SPI_CS (GPIO_NUM_39) // SPI片选引脚
- //#define LCD_IO_SPI_SCL (GPIO_NUM_21) // SPI时钟引脚
- //#define LCD_IO_SPI_SDA (GPIO_NUM_14) // SPI数据引脚
- //#define LCD_IO_RST (-1) // 复位引脚,未使用
- //
- //// 背光控制引脚定义
- //#define PIN_NUM_BK_LIGHT (-1) // 背光控制引脚
- //#define LCD_BK_LIGHT_ON_LEVEL (1) // 背光开启电平
- //#define LCD_BK_LIGHT_OFF_LEVEL !LCD_BK_LIGHT_ON_LEVEL // 背光关闭电平
- //
- //// 触摸屏I2C接口定义
- //#define TOUCH_HOST (I2C_NUM_1) // 触摸屏I2C主机
- //#define PIN_NUM_TOUCH_SCL (GPIO_NUM_4) // 触摸屏I2C时钟引脚
- //#define PIN_NUM_TOUCH_SDA (GPIO_NUM_5) // 触摸屏I2C数据引脚
- //#define PIN_NUM_TOUCH_RST (GPIO_NUM_NC) // 触摸屏复位引脚,未使用
- //#define PIN_NUM_TOUCH_INT (GPIO_NUM_NC) // 触摸屏中断引脚,未使用
- //
- //#define LCD_CS_Clr() gpio_set_level(LCD_IO_SPI_CS, 0)
- //#define LCD_CS_Set() gpio_set_level(LCD_IO_SPI_CS, 1)
- //#define LCD_SCK_Clr() gpio_set_level(LCD_IO_SPI_SCL, 0)
- //#define LCD_SCK_Set() gpio_set_level(LCD_IO_SPI_SCL, 1)
- //#define LCD_SDA_Clr() gpio_set_level(LCD_IO_SPI_SDA, 0)
- //#define LCD_SDA_Set() gpio_set_level(LCD_IO_SPI_SDA, 1)
- //
- ///**
- // * @brief 初始化LCD和触摸屏
- // * @return
- // * - ESP_OK 成功
- // * - ESP_FAIL 失败
- // */
- //esp_err_t lcd_st7701_init(void);
- //
- ///**
- // * @brief 打开LCD背光
- // * @return
- // * - ESP_OK 成功
- // * - ESP_FAIL 失败
- // */
- //esp_err_t lcd_st7701_backlight_on(void);
- //
- ///**
- // * @brief 关闭LCD背光
- // * @return
- // * - ESP_OK 成功
- // * - ESP_FAIL 失败
- // */
- //esp_err_t lcd_st7701_backlight_off(void);
|