野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13926|回复: 3

[emWin] Nordic 52832(MDK-ARM5.26)emwin显示外部FLASH中GIF文件时无法进入读取图片回调

[复制链接]
发表于 2018-10-22 13:06:16 | 显示全部楼层 |阅读模式
显示外部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]
回复

使用道具 举报

发表于 2018-10-22 13:51:03 | 显示全部楼层
你的show_flash_pic_gif哪里有指定回调函数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-22 14:06:33 | 显示全部楼层
左丘冰 发表于 2018-10-22 13:51
你的show_flash_pic_gif哪里有指定回调函数

[mw_shl_code=c,true]GUI_GIF_GetXSizeEx(get_flash_pic_gif_cb, p_flash_pic)这个第一个参数不是回调吗?
int GUI_GIF_GetXSizeEx     (GUI_GET_DATA_FUNC * pfGetData, void * p);[/mw_shl_code]
回复 支持 反对

使用道具 举报

发表于 2018-10-26 09:50:05 | 显示全部楼层
显示的地方加个延时试一下
GUI_Delay(100);
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-5 21:26 , Processed in 0.063566 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表