#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) /** * 获取背光状态 * @return true 亮,false 灭 */ bool lcd_st7701_get_blacklight(); /** * @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); //#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);