|
发表于 2019-1-7 11:10:24
|
显示全部楼层
你好,现在已经可以显示英文了,但是用你的这个函数显示中文是乱码,文件编码已经改成GB2312,是不是SPIFLASH_Read函数不对。能提供一下这个函数吗?我是把你提供的字库文件放在内存卡或者电脑上读取。
这个是我写的一个测试程序,还有 g_readf (font->mask_ofs + pos, font->char_height * bn, buf); 传进来的font->mask_ofs + pos值好大啊,基本是0xBFF55D20这个级别的。
- void Storage_Read (uint32_t Addr, int Len, void* Buff)
- {
- FILE* fp = NULL; /*文件指针*/
- fopen_s (&fp, "E:/SLF_Space/Develop/Windows_Dep/Xpress_LCD_Qt/SdCardFiles/Fonts/hzk16.bin", "r+");
- if ( fp == NULL)
- {
- return;
- }
- fseek (fp, Addr, SEEK_SET); //从哪个位置读取 字节偏移量SET,CUR,END
- while (fgets (Buff, Len, fp) != NULL)
- {
- fputs (Buff, fp);
- int Len = strlen (Buff); /*行字符个数*/
- ((char*) (Buff))[Len - 1] = '\0'; /*去掉换行符,字符串结束符*/
- }
- fclose (fp);
- }
复制代码 |
|