成功移植lvgl

This commit is contained in:
2026-02-19 02:53:47 +08:00
parent ee80965d58
commit 452ec672b1
11 changed files with 1987 additions and 79 deletions
+41 -31
View File
@@ -3,7 +3,7 @@
static const char *TAG = "LCD";
// uint16_t dis_buff[LCD_WW][LCD_HH];
lcd_t lcd_main;
// lcd_t lcd_main;
// SPI 写数据
esp_err_t lcd_spi_send_data_8(uint8_t data)
@@ -33,7 +33,7 @@ esp_err_t lcd_spi_send_data_16(uint16_t data)
return err;
}
esp_err_t lcd_spi_send_data_any(uint8_t *data, uint16_t len)
esp_err_t lcd_spi_send_data_any(uint8_t *data, uint32_t len)
{
spi_transaction_t trans = {
.length = len * 8,
@@ -102,40 +102,49 @@ void lcd_set_window(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2)
#endif
}
void lcd_one_second_task()
{
lcd_main.fps=lcd_main.fps_count;
lcd_main.fps_count=0;
// void lcd_one_second_task()
// {
// lcd_main.fps=lcd_main.fps_count;
// lcd_main.fps_count=0;
ESP_LOGI(TAG, "FPS:%d",lcd_main.fps);
}
// ESP_LOGI(TAG, "FPS:%d",lcd_main.fps);
// }
void lcd_send_full_buf()
// void lcd_send_full_buf()
// {
// gpio_set_level(LCD_CS, 0);
// lcd_set_window(0, 0, LCD_WW - 1, LCD_HH - 1);
// // 分包发送 单次9600 分16次发送
// spi_transaction_t trans = {
// .length = 9600 * 8, // 数据位数
// };
// uint8_t *d_buf = (uint8_t *)(lcd_main.buf);
// for (uint16_t i = 0; i < 16; i++)
// {
// // trans.length=9600*8;
// trans.tx_buffer = d_buf + (i * 9600);
// spi_device_transmit(lcd_spi, &trans);
// }
// gpio_set_level(LCD_CS, 1);
// //发送成功 帧计数+1
// lcd_main.fps_count+=1;
// }
// void lcd_clear_buf(uint16_t color)
// {
// for (uint32_t i = 0; i < (LCD_WW * LCD_HH); i++)
// {
// lcd_main.buf[i] = color;
// }
// }
void lcd_full_dis(uint16_t color)
{
gpio_set_level(LCD_CS, 0);
lcd_set_window(0, 0, LCD_WW - 1, LCD_HH - 1);
// 分包发送 单次9600 分16次发送
spi_transaction_t trans = {
.length = 9600 * 8, // 数据位数
};
uint8_t *d_buf = (uint8_t *)(lcd_main.buf);
for (uint16_t i = 0; i < 16; i++)
{
// trans.length=9600*8;
trans.tx_buffer = d_buf + (i * 9600);
spi_device_transmit(lcd_spi, &trans);
}
gpio_set_level(LCD_CS, 1);
//发送成功 帧计数+1
lcd_main.fps_count+=1;
}
void lcd_clear_buf(uint16_t color)
{
for (uint32_t i = 0; i < (LCD_WW * LCD_HH); i++)
{
lcd_main.buf[i] = color;
lcd_spi_send_data_16(color);
}
}
@@ -256,7 +265,8 @@ void lcd_init()
lcd_spi_send_cmd(0x29);
lcd_clear_buf(0xffff);
//lcd_full_dis(0xffff);
gpio_set_level(LCD_CS, 1);
ESP_LOGI(TAG, "初始化LCD完成");