硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2408|回复: 1
收起左侧

[emWin] 无需储存器加载流位图,GUI_DrawStreamedBitmapExAuto

[复制链接]

2

主题

1

回帖

7

积分

新手上路

积分
7
发表于 2017-12-29 21:41:42 | 显示全部楼层 |阅读模式
因为单片机没有外扩SDRAM,想直接中flash中加载流位图显示,想使用GUI_DrawStreamedBitmapExAuto这个函数显示,改写了bmpgetdata函数,但是图片不显示,直接绘制bmp图可以显示。请大神请教一下!拜托!!!!


static int GetData(void * p, const U8 ** ppData, unsigned NumBytesReq, U32 Off)
{
        static int readaddress=0;
        FIL * phFile;
        UINT NumBytesRead;

        
  #if SYSTEM_SUPPORT_OS
                CPU_SR_ALLOC();
        #endif
        
  pData = (u8 *)*ppData;
        phFile = (FIL *)p;
        
        if (NumBytesReq > sizeof(bmpBuffer))
        {
                NumBytesReq = sizeof(bmpBuffer);
        }

        //移动指针到应该读取的位置
        if(Off == 1) readaddress = 0;
        else readaddress=Off;
        #if SYSTEM_SUPPORT_OS
                OS_CRITICAL_ENTER();        //临界区
        #endif
        f_lseek(phFile,readaddress);
        
        //读取数据到缓冲区中      
        f_read(phFile,pData,NumBytesReq,&NumBytesRead);
        
        #if SYSTEM_SUPPORT_OS
                OS_CRITICAL_EXIT();        //退出临界区
        #endif
//        *ppData = (U8 *)bmpBuffer;
        return NumBytesRead;//返回读取到的字节数
}
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2017-12-30 00:59:33 | 显示全部楼层
看下你的这个函数是否都一直有返回值NumBytesRead,主要是看是否操作过程中出错。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-16 02:32 , Processed in 0.204969 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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