99 lines
3.3 KiB
C
99 lines
3.3 KiB
C
#include "gpio.h"
|
||
#include "driver/gpio.h"
|
||
#include "esp_err.h"
|
||
#include "esp_log.h"
|
||
#include "esp_lcd_st77916.h"
|
||
#include "esp_lvgl_port.h"
|
||
|
||
void test_display(esp_lcd_panel_handle_t panel_handle){
|
||
uint16_t *color_buf = malloc(LCD_WID * 100 * sizeof(uint16_t)); // 10行,每行360像素(RGB565)
|
||
if (color_buf == NULL) {
|
||
ESP_LOGE(LCD_TAG, "红色缓冲区分配失败");
|
||
return;
|
||
}
|
||
for (int i = 0; i < LCD_WID * 100; i++) {
|
||
color_buf[i] = 0xF800;
|
||
}
|
||
esp_err_t err = esp_lcd_panel_draw_bitmap(
|
||
panel_handle,
|
||
0, 0,
|
||
LCD_WID - 1, 100,
|
||
color_buf
|
||
);
|
||
if (err != ESP_OK) {
|
||
ESP_LOGE(LCD_TAG, "绘制红色条失败: %s", esp_err_to_name(err));
|
||
} else {
|
||
ESP_LOGI(LCD_TAG, "红色条绘制命令已发送");
|
||
}
|
||
free(color_buf);
|
||
}
|
||
|
||
void test_gpio(){
|
||
gpio_config_t led_conf = {};
|
||
led_conf.pin_bit_mask = (1ULL << PIN_LCD_CLK);
|
||
led_conf.mode = GPIO_MODE_OUTPUT;
|
||
led_conf.pull_up_en = GPIO_PULLUP_DISABLE;
|
||
led_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
|
||
led_conf.intr_type = GPIO_INTR_DISABLE;
|
||
gpio_config(&led_conf);
|
||
|
||
led_conf.pin_bit_mask = (1ULL << PIN_LCD_D0);
|
||
led_conf.mode = GPIO_MODE_OUTPUT;
|
||
led_conf.pull_up_en = GPIO_PULLUP_DISABLE;
|
||
led_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
|
||
led_conf.intr_type = GPIO_INTR_DISABLE;
|
||
gpio_config(&led_conf);
|
||
|
||
led_conf.pin_bit_mask = (1ULL << PIN_LCD_D1);
|
||
led_conf.mode = GPIO_MODE_OUTPUT;
|
||
led_conf.pull_up_en = GPIO_PULLUP_DISABLE;
|
||
led_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
|
||
led_conf.intr_type = GPIO_INTR_DISABLE;
|
||
gpio_config(&led_conf);
|
||
|
||
led_conf.pin_bit_mask = (1ULL << PIN_LCD_D2);
|
||
led_conf.mode = GPIO_MODE_OUTPUT;
|
||
led_conf.pull_up_en = GPIO_PULLUP_DISABLE;
|
||
led_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
|
||
led_conf.intr_type = GPIO_INTR_DISABLE;
|
||
gpio_config(&led_conf);
|
||
|
||
led_conf.pin_bit_mask = (1ULL << PIN_LCD_D3);
|
||
led_conf.mode = GPIO_MODE_OUTPUT;
|
||
led_conf.pull_up_en = GPIO_PULLUP_DISABLE;
|
||
led_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
|
||
led_conf.intr_type = GPIO_INTR_DISABLE;
|
||
gpio_config(&led_conf);
|
||
|
||
led_conf.pin_bit_mask = (1ULL << PIN_LCD_RST);
|
||
led_conf.mode = GPIO_MODE_OUTPUT;
|
||
led_conf.pull_up_en = GPIO_PULLUP_DISABLE;
|
||
led_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
|
||
led_conf.intr_type = GPIO_INTR_DISABLE;
|
||
gpio_config(&led_conf);
|
||
|
||
led_conf.pin_bit_mask = (1ULL << PIN_LCD_CS);
|
||
led_conf.mode = GPIO_MODE_OUTPUT;
|
||
led_conf.pull_up_en = GPIO_PULLUP_DISABLE;
|
||
led_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
|
||
led_conf.intr_type = GPIO_INTR_DISABLE;
|
||
|
||
gpio_config(&led_conf);
|
||
|
||
led_conf.pin_bit_mask = (1ULL << 36);
|
||
led_conf.mode = GPIO_MODE_OUTPUT;
|
||
led_conf.pull_up_en = GPIO_PULLUP_DISABLE;
|
||
led_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
|
||
led_conf.intr_type = GPIO_INTR_DISABLE;
|
||
|
||
gpio_config(&led_conf);
|
||
gpio_set_level(36,1);
|
||
|
||
// gpio_set_level(PIN_LCD_CS,1);
|
||
// gpio_set_level(PIN_LCD_RST,0);
|
||
// gpio_set_level(PIN_LCD_CLK,1);
|
||
// gpio_set_level(PIN_LCD_D0,0);
|
||
// gpio_set_level(PIN_LCD_D1,1);
|
||
// gpio_set_level(PIN_LCD_D2,0);
|
||
// gpio_set_level(PIN_LCD_D3,1);
|
||
} |