大学生
最后登录1970-1-1
在线时间 小时
注册时间2019-2-18
|
导入了emwin,用的库是emwin_m4f.lib,使用自带的字库可以显示英文,导入了一个外部的XBF带灰度的16点阵字库,输出字体时无法显示且死机,之前该字库在M3平台可以正常显示的,该字库我是从USB导入到ram内,初始化后调用函数
在线调试查看到GUI_DispStringHCenterAt();输出时就直接
HardFault_Handler了
求助大神帮忙,跪谢~~~
以下为字库相关初始化函数
static int _cbGetData2_16(U32 Off, U16 NumBytes, void *pVoid, void *pBuffer)
{
unsigned char temp;
for(temp = 0; temp < NumBytes; temp++)
{
*(unsigned char *)((unsigned int)pBuffer + temp) = *(unsigned char *)(FONT_UNICODE + XBF_Font2_16BaseAdd + Off+ temp);
}
return 0;
}
void GUI_SetXBF(void)
{
//* 创建 16 点阵字体 */
GUI_XBF_CreateFont(&XBF_Font, /* GUI_FONT 类型变量 */
&XBF_Data2_16, /* GUI_XBF_DATA 类型变量 */
GUI_XBF_TYPE_PROP_AA2_EXT, /* 字体类型 */
_cbGetData2_16, /* 回调函数 */
&Fontfile2_16); /* 回调函数参数 */
}
//////main函数相关字体初始化
fs_read("D:/xbf/font.bin",(void *)FONT_UNICODE,&ulFileLen,0x01); // 从U盘中的 font.bin 中读取字库到 FONT_UNICODE 地址
GUI_UC_SetEncodeUTF8(); // 使能UTF-8解码
GUI_SetXBF(); // 创建XBF字体
GUI_SetFont(&XBF_Font);
|
|