新手上路
- 积分
- 41
- 金钱
- 41
- 注册时间
- 2014-12-20
- 在线时间
- 3 小时
|
1金钱
显示外部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?0ffset), 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] |
|
|