大学生
最后登录1970-1-1
在线时间 小时
注册时间2015-1-21
|
楼主 |
发表于 2015-4-2 21:42:36
|
显示全部楼层
火哥,不好意思,我还是显示不了,我已经知道大致执行的过程了,但是就是不知道为什么显示不了,在此麻烦您帮我看下我的代码,,看下哪里出错了,拜托了!拜托了!!!谢谢!谢谢!
typedef struct
{
FIL hFontFile;
GUI_FONT XFont;
GUI_XBF_DATA XBF_Data;
}SD_FONT;
SD_FONT SDFont;
FATFS fsys;
const char textFileBuffer[] = "地爆天星";
void Task_GUI(void *p_arg)
{
OS_ERR err;
(void)p_arg;
f_mount(0,&fsys);
CreateFont(&SDFont);
GUI_SetFont(&SDFont.XFont);
GUI_DispStringAt(textFileBuffer,50,20);
f_close(&SDFont.hFontFile);
f_mount(0,NULL);
while(1)
{
......
}
}
static void CreateFont(SD_FONT *ExFont)
{
FRESULT res;
res = f_open(&ExFont->hFontFile, "0:/WF_OS/Font/weiruanex2.xbf", FA_READ|FA_OPEN_EXISTING);
if (res == FR_OK) {
/* 成功打开字库文件 */
GUI_XBF_CreateFont(&ExFont->XFont, // 指向创建得的字体数据结构存储位置
&ExFont->XBF_Data, // 指向XBF_DATA数据结构
GUI_XBF_TYPE_PROP_EXT , // 要创建的字体类型
_cbGetData, // 读取字库文件的回调函数
&ExFont->hFontFile); // 指向字库文件的文件索
GUI_UC_SetEncodeUTF8();
GUI_SetFont(&ExFont->XFont);
}
}
static int _cbGetData(U32 Off, U16 NumBytes, void * pVoid, void * pBuffer)
{
FIL hFile;
UINT NumBytesRead;
FRESULT fres;
hFile = *(FIL *)pVoid;
fres = f_lseek(&hFile, Off) ;
if (fres != FR_OK) {
return 1; // Error
}
fres = f_read(&hFile, pBuffer, NumBytes, &NumBytesRead);
if (fres != FR_OK)
{
return 1; // Error
}
if (NumBytesRead != NumBytes)
{
return 1; // Error
}
return 0; // Ok
} |
|