|
显示外部FLASH存储GIF图片时,没有进读取FLASH数据的回到函数
GUI_GIF_GetXSizeEx和GUI_GIF_GetYSizeEx返回0,
回调函数get_flash_pic_gif_cb没有打印信息。
这个可能时什么原因?BMP图片时可以进入回调的。显示GIF有什么限制吗?还是有什么宏没有打开?
- //uint8_t p_pic_gif_buf[LCD_XSIZE*16u+1];//1 line
- int get_flash_pic_gif_cb(void * p, const U8 ** ppData, unsigned num_bytes_req, U32 offset)
- {
- NRF_LOG_DEBUG("cccccccccccccccccccccccccccccc");
- if (p == NULL)
- {
- NRF_LOG_ERROR("Get picture from flash ERROR!");
- return 0;
- }
- flash_pic_t *p_flash_pic = (flash_pic_t *)p;
- NRF_LOG_DEBUG("pp: %d %d 0x%08X %d %d %d", num_bytes_req, offset, p_flash_pic->address, p_flash_pic->size, p_flash_pic->x_size, p_flash_pic->y_size);
- uint32_t num_bytes_read = num_bytes_req>(LCD_XSIZE*16u)?(LCD_XSIZE*16u):num_bytes_req;
- //p_flash_pic->pic_data = (uint8_t *)pvPortMalloc(num_bytes_read + 1);
- //ASSERT(_acBufferr);
- //NRF_LOG_DEBUG("offset:%d %d", off, num_bytes_read);
- gt24_read_nbytes(p_pic_buf, p_flash_pic->address + (offset==1?0:offset), num_bytes_read);
- NRF_LOG_HEXDUMP_DEBUG(p_pic_buf, num_bytes_read);
- *ppData = (const U8 *)p_pic_buf;
- return num_bytes_read;
- }
- uint32_t show_flash_pic_gif(flash_pic_t *p_flash_pic, uint32_t x0, uint32_t y0)
- {
- uint16_t i = 0;
- uint32_t t0, t1;
- //char buf[50];
- GUI_GIF_INFO gif_info;
- GUI_GIF_IMAGE_INFO gif_image_info;
-
- NRF_LOG_DEBUG("GIF Xsize: %d", GUI_GIF_GetXSizeEx(get_flash_pic_gif_cb, p_flash_pic));
- NRF_LOG_DEBUG("GIF Ysize: %d", GUI_GIF_GetYSizeEx(get_flash_pic_gif_cb, p_flash_pic));
- }
复制代码
|
|