|
大神好,
我想在对话框里用读取sd卡文件的方式显示bmp图片,总会进入hardfault。而如果用生成c文件的方式,就没问题。
图片控件在资源列表里注册过了,我把显示代码放在了WM_INIT_DIALOG里面,显示代码如下,
    //
    // Initialize  Backgnd
    //
    hItem = WM_GetDialogItem(pWin, GUI_ID_IMAGE0);
    result = f_open(&picture_fil, "1:/picture/apple1.bmp", FA_OPEN_EXISTING | FA_OPEN_ALWAYS | FA_READ);
    if(result != FR_OK)
    {
        printf("FR not OK");
        return;
    }
    //res = GUI_BMP_DrawEx(GetData, &picture_fil, 0, 0);
        IMAGE_SetBMPEx(hItem, GetData, &picture_fil);
GetData函数已经检验过没有问题(在桌面用GUI_BMP_DrawEx函数显示没有问题),图片文件也可以打开。
图片大小40*36像素,放在sd卡中。
我在GetData函数里用串口输出被调用的次数和读取的字节个数,发现调用到第6次就会进入hardfault,如图
我的问题在哪里呢?
求问,应该怎么在对话框里显示图片呢? |
-
|