完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
乐鑫技术支持您好:
看ESP32-S2手册上写的是支持8位串口RGB的。但是在编译esp-idf master代码时出错。 我有一片LCD是8位串行RGB接口(驱动芯片HX8238D),想用手头ESP32-S2-WROOM模块来驱动显示。 利用master测试代码test_rgb_panel.c修改后编译,选择ESP32-S3芯片时编译通过,但是更改为ESP32-S2芯片时报错。 想请问ESP32-S2是否支持8位串口RGB,若支持什么时候有支持ESP32-S2的8位串口RGB的驱动代码? 另外自己改S3 RGB驱动在S2使用的话请提供些修改思路。 谢谢! 以下为测试代码,在S3上编译通过,我没有S3模块无法测试。现在需要让该代码能够在S2下运行。 #include #include #include "esp_lcd_panel_rgb.h" #include "esp_lcd_panel_ops.h" #include "soc/soc_caps.h" #include "esp_err.h" #include "esp_log.h" #include "driver/gpio.h" #include "esp_system.h" static const char *TAG = "example"; #define TEST_LCD_H_RES (480) #define TEST_LCD_V_RES (272) #define TEST_LCD_VSYNC_GPIO (8) #define TEST_LCD_HSYNC_GPIO (9) #define TEST_LCD_DE_GPIO (10) #define TEST_LCD_PCLK_GPIO (11) #define TEST_LCD_DATA0_GPIO (0) // B0 #define TEST_LCD_DATA1_GPIO (1) // B1 #define TEST_LCD_DATA2_GPIO (2) // B2 #define TEST_LCD_DATA3_GPIO (3) // B3 #define TEST_LCD_DATA4_GPIO (4) // B4 #define TEST_LCD_DATA5_GPIO (5) // G0 #define TEST_LCD_DATA6_GPIO (6) // G1 #define TEST_LCD_DATA7_GPIO (7) // G2 /* #define TEST_LCD_DATA8_GPIO (11) // G3 #define TEST_LCD_DATA9_GPIO (12) // G4 #define TEST_LCD_DATA10_GP*IO (13) // G5 #define TEST_LCD_DATA11_GPIO (14) // R0 #define TEST_LCD_DATA12_GPIO (15) // R1 #define TEST_LCD_DATA13_GPIO (16) // R2 #define TEST_LCD_DATA14_GPIO (17) // R3 #define TEST_LCD_DATA15_GPIO (18) // R4 */ #define TEST_LCD_DISP_EN_GPIO (12) // RGB driver consumes a huge memory to save frame buffer, only test it with PSRAM enabled void app_main(void) { ESP_LOGI(TAG, "lcd rgb lcd panel"); #define TEST_IMG_SIZE (100 * 100 * sizeof(uint16_t)) uint8_t *img = malloc(TEST_IMG_SIZE); // TEST_ASSERT_NOT_NULL(img); esp_lcd_panel_handle_t panel_handle = NULL; esp_lcd_rgb_panel_config_t panel_config = { .data_width = 8, //16 .disp_gpio_num = TEST_LCD_DISP_EN_GPIO, .pclk_gpio_num = TEST_LCD_PCLK_GPIO, .vsync_gpio_num = TEST_LCD_VSYNC_GPIO, .hsync_gpio_num = TEST_LCD_HSYNC_GPIO, .de_gpio_num = TEST_LCD_DE_GPIO, .data_gpio_nums = { TEST_LCD_DATA0_GPIO, TEST_LCD_DATA1_GPIO, TEST_LCD_DATA2_GPIO, TEST_LCD_DATA3_GPIO, TEST_LCD_DATA4_GPIO, TEST_LCD_DATA5_GPIO, TEST_LCD_DATA6_GPIO, TEST_LCD_DATA7_GPIO, /* TEST_LCD_DATA8_GPIO, TEST_LCD_DATA9_GPIO, TEST_LCD_DATA10_GPIO, TEST_LCD_DATA11_GPIO, TEST_LCD_DATA12_GPIO, TEST_LCD_DATA13_GPIO, TEST_LCD_DATA14_GPIO, TEST_LCD_DATA15_GPIO, */ }, .timings = { .pclk_hz = 12000000, .h_res = TEST_LCD_H_RES, .v_res = TEST_LCD_V_RES, .hsync_back_porch = 43, .hsync_front_porch = 2, .hsync_pulse_width = 1, .vsync_back_porch = 12, .vsync_front_porch = 1, .vsync_pulse_width = 1, }, .flags.fb_in_psram = 1, }; // Test stream mode and one-off mode for (int i = 0; i < 2; i++) { panel_config.flags.relax_on_idle = i; ESP_ERROR_CHECK(esp_lcd_new_rgb_panel(&panel_config, &panel_handle)); ESP_ERROR_CHECK(esp_lcd_panel_reset(panel_handle)); ESP_ERROR_CHECK(esp_lcd_panel_init(panel_handle)); for (int i = 0; i < 200; i++) { uint8_t color_byte = esp_random() & 0xFF; int x_start = esp_random() % (TEST_LCD_H_RES - 100); int y_start = esp_random() % (TEST_LCD_V_RES - 100); memset(img, color_byte, TEST_IMG_SIZE); esp_lcd_panel_draw_bitmap(panel_handle, x_start, y_start, x_start + 100, y_start + 100, img); } ESP_ERROR_CHECK(esp_lcd_panel_del(panel_handle)); } free(img); } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
944 浏览 0 评论
1671 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5015 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1252浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2336浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 02:31 , Processed in 3.715834 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
291
