我初始化st7789的屏幕后想用esp_lcd_panel_draw_bitmap对屏幕填充颜色,请问为什么不能通过直接发送颜色地址来填充,而需要拆开来才能正确显示颜色? Code: Untitled.c Select all uint16_t color=RED;// #define RED 0xF800 uint8_t buf[2]={color>>8,color}; uint16_t t
staticesp_err_t dpi_panel_draw_bitmap(esp_lcd_panel_t *panel,intx_start,inty_start,intx_end,inty_end,constvoid*color_data) frame buffer 的数据是通过DMA不停的发送到 DSI bridge(FIFO memory of peripheral: DSI),一帧搬完,在完成回调函数重新启动DMA staticesp_err_t dpi_panel_create_dma_link...
esp_lcd_panel_draw_bitmap()这个函数来试着填充一下屏幕区域,但是这时候我发现了另外的问题,虽然这个函数的参数和画点函数比较相似,都是传递起始坐标和结束坐标,另外就是传递一个颜色指针。但是我如果想填满整个屏幕,我就需要定义一个240*240大小的数组,并且我还要给他填充数据,这也太傻鸟了吧,我在心里忍不住...
禁止任务调度*/taskENTER_CRITICAL(&my_spinlock); /*屏蔽中断*/esp_lcd_panel_draw_bitmap(panel...
想请问这个可能是什么原因引起的, 初始化完成后直接调用 esp_lcd_panel_draw_bitmap(panel_handle, 0, 0, 320,480, img); img使用 memcpy(img,demo1_320x480_map,TEST_IMG_SIZE1); demo1是一张用工具转的图片const unsigned char demo1_320x480_map[] = {***}; 96ll Posts:...
/* 屏蔽中断 */esp_lcd_panel_draw_bitmap(panel_handle,0,y,ltdcdev.width,y + 1,buffer);task...
esp_lcd_panel_io_tx_param(io, 0xe7, (uint8_t[]){0x00,0x10}, 2); 再有修改画图函数 static esp_err_t panel_st7789_draw_bitmap(esp_lcd_panel_t *panel, int x_start, int y_start, int x_end, int y_end, const void *color_data) ...
esp_lcd_panel_draw_bitmap(panel_handle, offsetx1, offsety1, offsetx2 + 1, offsety2 + 1, color_map); lv_disp_flush_ready(drv); } static IRAM_ATTR bool lvgl_read_cb(lv_indev_drv_t * indev_drv, lv_indev_data_t * data) ...
③使用esp_lcd_panel_draw_bitmap函数刷新SPI LCD图像,传入颜色数据的字节数可以大于max_transfer_sz,...
my issue is that the color is not display on the LCD, but other color are displayed. ex) i set Blue(0x001F, RGB565), but lcd displayed Green. Code:Select all uint16_tnum[100];for(inti =0; i <100; i++) { num[i] =0x001F; }esp_lcd_panel_draw_bitmap(panel_handle,0,140,...