学前班
最后登录1970-1-1
在线时间 小时
注册时间2018-10-22
|
显示外部FLASH存储GIF图片时,没有进读取FLASH数据的回到函数
GUI_GIF_GetXSizeEx和GUI_GIF_GetYSizeEx返回0,
回调函数get_flash_pic_gif_cb没有打印信息。
这个可能时什么原因?BMP图片时可以进入回调的。显示GIF有什么限制吗?还是有什么宏没有打开?
[mw_shl_code=c,true]//uint8_t p_pic_gif_buf[LCD_XSIZE*16u+1];//1 line
static 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 ffset), 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));
}[/mw_shl_code]
|
|