Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define PWR_EN_PIN (10)
- #define PWR_ON_PIN (14)
- #define BAT_ADC_PIN (5)
- #define BUTTON1_PIN (0)
- #define BUTTON2_PIN (21)
- // lcd
- #define LCD_DATA0_PIN (48)
- #define LCD_DATA1_PIN (47)
- #define LCD_DATA2_PIN (39)
- #define LCD_DATA3_PIN (40)
- #define LCD_DATA4_PIN (41)
- #define LCD_DATA5_PIN (42)
- #define LCD_DATA6_PIN (45)
- #define LCD_DATA7_PIN (46)
- #define PCLK_PIN (8)
- #define CS_PIN (6)
- #define DC_PIN (7)
- #define RST_PIN (-1)
- #define BK_LIGHT_PIN (38)
- #define LCD_HRES 240
- #define LCD_VRES 320
- // touch screen
- #define TOUCHSCREEN_SCLK_PIN (1)
- #define TOUCHSCREEN_MISO_PIN (4)
- #define TOUCHSCREEN_MOSI_PIN (3)
- #define TOUCHSCREEN_CS_PIN (2)
- #define TOUCHSCREEN_IRQ_PIN (9)
- // sd card
- #define SD_MISO_PIN (13)
- #define SD_MOSI_PIN (11)
- #define SD_SCLK_PIN (12)
- #define SDIO_DATA0_PIN (13)
- #define SDIO_CMD_PIN (11)
- #define SDIO_SCLK_PIN (12)
- #include "freertos/FreeRTOS.h"
- #include "freertos/task.h"
- #include "freertos/semphr.h"
- #include "esp_err.h"
- #include "esp_lcd_panel_io.h"
- #include "esp_lcd_panel_vendor.h"
- #include "esp_lcd_panel_ops.h"
- #include "driver/gpio.h"
- esp_lcd_panel_io_handle_t io_handle=NULL;
- esp_lcd_panel_handle_t panel_handle = NULL;
- void lcd_init()
- {
- gpio_set_direction((gpio_num_t)PWR_ON_PIN, GPIO_MODE_OUTPUT);
- gpio_set_level((gpio_num_t)PWR_ON_PIN, 1);
- vTaskDelay(pdMS_TO_TICKS(10));
- gpio_set_direction((gpio_num_t)PWR_EN_PIN, GPIO_MODE_OUTPUT);
- gpio_set_level((gpio_num_t)PWR_EN_PIN, 1);
- esp_lcd_i80_bus_handle_t i80_bus = NULL;
- esp_lcd_i80_bus_config_t bus_config = {
- .dc_gpio_num = DC_PIN,
- .wr_gpio_num = PCLK_PIN,
- .clk_src = LCD_CLK_SRC_PLL160M,
- .data_gpio_nums = {
- LCD_DATA0_PIN,
- LCD_DATA1_PIN,
- LCD_DATA2_PIN,
- LCD_DATA3_PIN,
- LCD_DATA4_PIN,
- LCD_DATA5_PIN,
- LCD_DATA6_PIN,
- LCD_DATA7_PIN
- },
- .bus_width = 8,
- .max_transfer_bytes = LCD_HRES * LCD_VRES * sizeof(uint16_t)
- };
- ESP_ERROR_CHECK(esp_lcd_new_i80_bus(&bus_config, &i80_bus));
- esp_lcd_panel_io_handle_t io_handle = NULL;
- esp_lcd_panel_io_i80_config_t io_config = {
- .cs_gpio_num = CS_PIN,
- .pclk_hz = 10*1000*1000,
- .trans_queue_depth = 10,
- // .on_color_trans_done = example_notify_lvgl_flush_ready,
- .user_ctx = NULL,
- .lcd_cmd_bits = 8,
- .lcd_param_bits = 9,
- .dc_levels = {
- .dc_idle_level = 0,
- .dc_cmd_level = 0,
- .dc_dummy_level = 0,
- .dc_data_level = 1,
- },
- .flags = {
- .swap_color_bytes = 1,
- }
- };
- ESP_ERROR_CHECK(esp_lcd_new_panel_io_i80(i80_bus, &io_config, &io_handle));
- esp_lcd_panel_dev_config_t panel_config = {
- .reset_gpio_num = RST_PIN,
- .color_space = ESP_LCD_COLOR_SPACE_RGB,
- .bits_per_pixel = 16,
- };
- ESP_ERROR_CHECK(esp_lcd_new_panel_st7789(io_handle, &panel_config, &panel_handle));
- esp_lcd_panel_reset(panel_handle);
- esp_lcd_panel_init(panel_handle);
- esp_lcd_panel_mirror(panel_handle, false, true);
- esp_lcd_panel_swap_xy(panel_handle, true);
- gpio_set_direction((gpio_num_t)BK_LIGHT_PIN, GPIO_MODE_OUTPUT);
- gpio_set_level((gpio_num_t)BK_LIGHT_PIN, 1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement