Page 1 of 1

发现一个问题,关于i80 LCD驱动的一个死结,不知道算不算bug

Posted: Wed Mar 02, 2022 3:11 am
by fan183579
使用的是\examples\peripherals\lcd\lvgl 例程,因为需要使用的8080并口屏幕的驱动IC不支持,所以自己去修改编写驱动,在编写过程中发现这么一个问题,向屏幕IC中写入寄存器指令需要使用到 esp_lcd_panel_io_tx_param 函数,正常使用这是没有问题的,但是在一些特殊情况中比如我这个屏幕,需要向指令为0x2D的地址中填充192个数据,这边我附上文档说明截图
7296b20086a71baa6e8f0bdea037cfb.png
7296b20086a71baa6e8f0bdea037cfb.png (173.45 KiB) Viewed 2634 times
在这种情况下就会没法使用,我曾经也尝试过直接填充192个数据,但是直接就触发断言
7296b20086a71baa6e8f0bdea037cfb.png
7296b20086a71baa6e8f0bdea037cfb.png (173.45 KiB) Viewed 2634 times
这边再次附上我的初始化程序截图
7296b20086a71baa6e8f0bdea037cfb.png
7296b20086a71baa6e8f0bdea037cfb.png (173.45 KiB) Viewed 2634 times
请麻烦尽快审阅后解决一下,提供一个行之有效的解决方式,谢谢

Re: 发现一个问题,关于i80 LCD驱动的一个死结,不知道算不算bug

Posted: Wed Mar 02, 2022 4:06 am
by ESP_morris
从报的错误来看像是在lvgl_example_main.c中申请内存发生了错误 heap_caps_malloc

B9命令为什么也要192字节?

Re: 发现一个问题,关于i80 LCD驱动的一个死结,不知道算不算bug

Posted: Wed Mar 02, 2022 5:37 am
by fan183579
ESP_morris wrote:
Wed Mar 02, 2022 4:06 am
从报的错误来看像是在lvgl_example_main.c中申请内存发生了错误 heap_caps_malloc

B9命令为什么也要192字节?
这个是 后来改的,我现在把B9改回来了,也是一样报错的
esp_lcd_panel_io_tx_param(io, 0x2D, (uint8_t[]) {
0&0xff, 8&0xff, 16&0xff, 24&0xff, 32&0xff, 40&0xff, 48&0xff, 56&0xff, 64&0xff, 72&0xff, 80&0xff, 88&0xff, 96&0xff, 104&0xff, 112&0xff, 120&0xff,
128&0xff, 136&0xff, 144&0xff, 152&0xff, 160&0xff, 168&0xff, 176&0xff, 184&0xff, 192&0xff, 200&0xff, 208&0xff, 216&0xff, 224&0xff,
232&0xff, 240&0xff, 248&0xff, 256&0xff, 264&0xff, 272&0xff, 280&0xff, 288&0xff, 296&0xff, 304&0xff, 312&0xff, 320&0xff, 328&0xff,
336&0xff, 344&0xff, 352&0xff, 360&0xff, 368&0xff, 376&0xff, 384&0xff, 392&0xff, 400&0xff, 408&0xff, 416&0xff, 424&0xff, 432&0xff,
440&0xff, 448&0xff, 456&0xff, 464&0xff, 472&0xff, 480&0xff, 488&0xff, 496&0xff, 504&0xff,

0&0xFF, 4&0xFF, 8&0xFF, 12&0xFF, 14&0xFF, 16&0xFF, 20&0xFF, 24&0xFF, 28&0xFF, 32&0xFF, 36&0xFF, 40&0xFF, 44&0xFF, 48&0xFF,
52&0xFF, 56&0xFF, 60&0xFF, 64&0xFF, 68&0xFF, 72&0xFF, 76&0xFF, 80&0xFF, 84&0xFF, 88&0xFF, 92&0xFF, 96&0xFF, 100&0xFF,
104&0xFF, 108&0xFF, 112&0xFF, 116&0xFF, 120&0xFF, 124&0xFF, 128&0xFF, 132&0xFF, 136&0xFF, 140&0xFF, 144&0xFF,
148&0xFF, 152&0xFF, 156&0xFF, 160&0xFF, 164&0xFF, 168&0xFF, 172&0xFF, 176&0xFF, 180&0xFF, 184&0xFF, 188&0xFF,
192&0xFF, 196&0xFF, 200&0xFF, 204&0xFF, 208&0xFF, 212&0xFF, 216&0xFF, 220&0xFF, 224&0xFF, 228&0xFF, 232&0xFF,
236&0xFF, 240&0xFF, 244&0xFF, 248&0xFF, 252&0xFF,

0&0xff, 8&0xff, 16&0xff, 24&0xff, 32&0xff, 40&0xff, 48&0xff, 56&0xff, 64&0xff, 72&0xff, 80&0xff, 88&0xff, 96&0xff, 104&0xff, 112&0xff, 120&0xff,
128&0xff, 136&0xff, 144&0xff, 152&0xff, 160&0xff, 168&0xff, 176&0xff, 184&0xff, 192&0xff, 200&0xff, 208&0xff, 216&0xff, 224&0xff,
232&0xff, 240&0xff, 248&0xff, 256&0xff, 264&0xff, 272&0xff, 280&0xff, 288&0xff, 296&0xff, 304&0xff, 312&0xff, 320&0xff, 328&0xff,
336&0xff, 344&0xff, 352&0xff, 360&0xff, 368&0xff, 376&0xff, 384&0xff, 392&0xff, 400&0xff, 408&0xff, 416&0xff, 424&0xff, 432&0xff,
440&0xff, 448&0xff, 456&0xff, 464&0xff, 472&0xff, 480&0xff, 488&0xff, 496&0xff, 504&0xff,
}, 192);

esp_lcd_panel_io_tx_param(io, 0xB9, (uint8_t[]) {
0xFF, 0X83, 0X69,
}, 3);