初级会员
- 积分
- 121
- 金钱
- 121
- 注册时间
- 2017-6-23
- 在线时间
- 53 小时
|
15金钱
因为单片机没有外扩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;//返回读取到的字节数
}
|
|
|