|
我是用 “V5-511d_BMP图片显示_uCOS-III+STemWin5.26+FatFS(含IAR和MDK)” 例程做的实验
这个例程显示的是480X270图片,没问题,我把图片改成800X480就死机了,
关键代码如下,我改了一点
void MainTask(void)
{
GUI_Init();
while(1)
{
_ShowBMP("1.bmp");
GUI_Delay(5050);
}
}
static void _ShowBMP(const char * sFilename)
{
int XSize, YSize;
GUI_HMEM hMem;
char *_acBuffer2;
int i=100;
/* 申请一块内存空间 并且将其清零 */
hMem = GUI_ALLOC_AllocZero(1024*1024);
/* 将申请到内存的句柄转换成指针类型 */
_acBuffer2 = GUI_ALLOC_h2p(hMem);
/* 打开文件 */
result = f_open(&file, sFilename, FA_OPEN_EXISTING | FA_READ | FA_OPEN_ALWAYS);
if (result != FR_OK)
{
return;
}
result = f_read(&file, _acBuffer2, file.fsize, &bw);
if (result != FR_OK)
{
return;
}
GUI_BMP_Draw(_acBuffer2, 0, 0);
GUI_ALLOC_Free(hMem);
f_close(&file);
}
我仿真的时候,是死在result = f_read(&file, _acBuffer2, file.fsize, &bw);这条语句上,请问这是怎么回事? |
|