OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
12
返回列表 发新帖
楼主: jackailson

将字库及UNIGBK.BIN放到SD卡,从此告别外部Flash芯片

  [复制链接]

5

主题

424

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1020
金钱
1020
注册时间
2014-9-4
在线时间
199 小时
发表于 2014-10-6 17:08:55 | 显示全部楼层
回复【53楼】2593:
---------------------------------
UGBKADDR的地址好像可以用:  
f_lseek(uni_oem,1); 
UGBKADDR = uni_oem->dsect; 
好像可以解决。 

void SDFont_Init(void)      //必须调用SD_Init();exfuns_init();f_mount(0,fs[0]); 

FIL *uni_oem; 

SD_Init(); 
  exfuns_init();  //为fatfs相关变量申请内存   
  f_mount(0,fs[0]);       //挂载SD卡 

uni_oem=(FIL*)mymalloc(SRAMIN,sizeof(uni_oem));      

f_open(uni_oem,"0:/SYSTEM/FONT/UNIGBK.BIN",FA_OPEN_EXISTING|FA_READ);//路径自己修改 
UGBKSIZE=uni_oem->fsize;
f_lseek(uni_oem,1); 
UGBKADDR = uni_oem->dsect; 
f_close(uni_oem); 
myfree(SRAMIN,uni_oem); 
}
https://github.com/WZTENG
正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

1

主题

20

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-11-22
在线时间
0 小时
发表于 2014-10-28 11:17:47 | 显示全部楼层
回复 支持 反对

使用道具 举报

头像被屏蔽

65

主题

277

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2013-8-11
在线时间
29 小时
发表于 2014-10-28 11:56:32 | 显示全部楼层
回复【36楼】gzw19900817:
---------------------------------
mark,谢谢楼主!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

2

主题

64

帖子

0

精华

高级会员

Rank: 4

积分
953
金钱
953
注册时间
2014-11-2
在线时间
369 小时
发表于 2014-11-12 20:45:46 | 显示全部楼层
谢谢楼主!!!!!
回复 支持 反对

使用道具 举报

7

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2011-2-17
在线时间
7 小时
发表于 2014-11-24 09:13:50 | 显示全部楼层
学习,谢谢楼主
回复 支持 反对

使用道具 举报

32

主题

153

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2014-11-5
在线时间
0 小时
发表于 2015-2-8 18:00:32 | 显示全部楼层
回复【2楼】jackailson:
---------------------------------
为什么24的字体显示不了?只能显示16的---------读取的字节数改了---条件也改了的
酱油团队--
回复 支持 反对

使用道具 举报

2

主题

102

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
281
金钱
281
注册时间
2014-12-21
在线时间
0 小时
发表于 2015-2-8 18:56:07 | 显示全部楼层
[mw_shl_code=c,true] if(ql<0x7f)ql-=0x40;//注意! else ql-=0x41;[/mw_shl_code]

这段代码一直没看懂,那位老师能解释下?
回复 支持 反对

使用道具 举报

32

主题

153

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2014-11-5
在线时间
0 小时
发表于 2015-2-8 23:21:16 | 显示全部楼层
回复【62楼】exv:
---------------------------------
GBK的寻字公式-原子哥的不完全手册有说明
酱油团队--
回复 支持 反对

使用道具 举报

32

主题

153

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2014-11-5
在线时间
0 小时
发表于 2015-2-8 23:22:10 | 显示全部楼层
为什么把SD当字库了--只能显示16的字体?打开其他的字体就不行呢?
酱油团队--
回复 支持 反对

使用道具 举报

2

主题

102

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
281
金钱
281
注册时间
2014-12-21
在线时间
0 小时
发表于 2015-2-9 00:02:53 | 显示全部楼层
回复【63楼】xiaolong12:
---------------------------------
谢谢~
见过手册的公式,觉得ql多减的那个1指的是0x7F的区域为空。

“当 GBKL<0X7F 时:Hp=((GBKH-0x81)*190+GBKL-0X40)*csize;
当 GBKL>0X80 时:Hp=((GBKH-0x81)*190+GBKL-0X41)*csize;”

看这个说明0x80也应该为空,不然就应该写作GBKL>=0X80 ,应多减2才是。
看得有些凌乱~~
190比192少了2个空区到底是哪两个?
————————————————————————————
话说这套GBK标准是北大方正设立的,既不简洁也不好用。
今正好撞到个新闻“方正不会倒也不允许倒”,
不知以后这东西谁去修订,希望能改简单些。
还有,这0xffff个空只用了大约一半,实在有些浪费。
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2013-6-6
在线时间
14 小时
发表于 2015-2-28 15:01:52 | 显示全部楼层
回复【61楼】xiaolong12:
---------------------------------
24的字体你能显示出来了吗?我的也是只能到16字体!24和24以后的都不可以了!谁能说下原因或者显示的原理?不胜感激!
回复 支持 反对

使用道具 举报

1

主题

374

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1322
金钱
1322
注册时间
2014-7-23
在线时间
420 小时
发表于 2015-5-12 01:30:09 | 显示全部楼层
foffset=((unsigned long)190*qh+ql)*(size*2);//得到字库中的字节偏移量
好像有点问题 12、16是恰恰可以的,24的时候应该是:
u8 csize=(size/8+((size%8)?1:0))*(size);//得到字体一个字符对应点阵集所占的字节数
foffset=((unsigned long)190*qh+ql)*csize;   //得到字库中的字节偏移量
回复 支持 反对

使用道具 举报

14

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2014-7-23
在线时间
5 小时
发表于 2015-6-6 17:37:27 | 显示全部楼层
感谢楼主的无私奉贤,帮我解决了大问题。
回复 支持 反对

使用道具 举报

16

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2015-7-16
在线时间
14 小时
发表于 2015-8-29 09:41:50 | 显示全部楼层
我问下这个字库和bin文件是不是事前已经拷进sd里了??
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2015-8-23
在线时间
0 小时
发表于 2015-9-20 16:05:22 | 显示全部楼层
为什么我使用硬件spi从SD中直接读取字库数据在lcd屏上显示时,一个字一个字的往外显示,速度都是这么慢吗?
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2015-8-23
在线时间
0 小时
发表于 2015-9-20 17:16:02 | 显示全部楼层
回复【70楼】just do it:
---------------------------------
已经解决了;
回复 支持 反对

使用道具 举报

12

主题

77

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
352
金钱
352
注册时间
2014-1-22
在线时间
43 小时
发表于 2015-10-21 21:33:31 | 显示全部楼层
mark ,谢谢啦
任何一件事情,只要心甘情愿,总是能够变得简单。
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-11-17
在线时间
0 小时
发表于 2015-10-28 16:09:16 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
原子哥,老版战舰的flash是W25Q64,我想买个W25Q128直接焊接上去替换掉W25Q64能用吗
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165427
金钱
165427
注册时间
2010-12-1
在线时间
2113 小时
发表于 2015-11-1 23:56:38 | 显示全部楼层
回复【73楼】xsgchao:
---------------------------------
得修改下代码里面对ID的判断.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-11-17
在线时间
0 小时
发表于 2015-11-10 19:31:32 | 显示全部楼层
回复【74楼】正点原子:
---------------------------------
好的,明白了
回复 支持 反对

使用道具 举报

18

主题

238

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
1823
金钱
1823
注册时间
2014-8-5
在线时间
211 小时
发表于 2015-11-10 19:38:31 | 显示全部楼层
谢谢楼主分享,学习了
回复 支持 反对

使用道具 举报

7

主题

57

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
208
金钱
208
注册时间
2015-12-2
在线时间
25 小时
发表于 2016-5-3 11:15:20 | 显示全部楼层
顶顶顶
回复 支持 反对

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1665
金钱
1665
注册时间
2016-4-29
在线时间
266 小时
发表于 2016-5-3 13:03:54 | 显示全部楼层
mark一下
回复 支持 反对

使用道具 举报

15

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-11-28
在线时间
13 小时
发表于 2016-6-12 19:56:10 | 显示全部楼层
f_open(sdfile,"0:SYSTEM/FONT/GBK16.fon",FA_OPEN_EXISTING|FA_READ);
回复 支持 反对

使用道具 举报

15

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-11-28
在线时间
13 小时
发表于 2016-6-12 20:03:13 | 显示全部楼层
您好,文件系统可以直接打开.fon文件吗,我看原子锅的是可以打开.bin的,但是并没有提及.fon;还有楼主,能否上传一下可用的字库哦,我自己生成的不知道对不对,反正不能用;;还有啊楼主,咋们在使用字库的时候,并没有用到UNIGBK.BIN啊,疑惑啊,求解,谢谢哦
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-8-18
在线时间
8 小时
发表于 2016-8-18 19:56:10 | 显示全部楼层
先顶一下!最近刚弄字库方面的内容,但是看一楼代码费解,求大神们指点:
函数 u8 SD_ReadBlocks(u32 addr,u8* buf)里面的buf是一个指针变量(地址),
后面代码:
for(i=0;i<512;i++)
{
         buf=SD_SPI_ReadWriteByte(0XFF);
}
把SD卡读取的数据内容赋给一个指针变量,费解!
是我理解错了……求大神们指点
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2016-8-13
在线时间
28 小时
发表于 2016-8-20 12:29:37 | 显示全部楼层
好东西
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-7-19
在线时间
13 小时
发表于 2017-4-7 10:54:12 | 显示全部楼层
老兄 你是在哪个文件基础上修改的
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-7-19
在线时间
13 小时
发表于 2017-4-7 10:56:56 | 显示全部楼层
"MMC_SD.h"  比如这个.h文件 找不到的
因为急用 希望楼主告诉我一下
回复 支持 反对

使用道具 举报

0

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2014-6-6
在线时间
22 小时
发表于 2017-4-7 13:08:40 | 显示全部楼层
好东西,mark。谢谢分享
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2017-6-30
在线时间
6 小时
发表于 2017-7-8 11:18:40 | 显示全部楼层
缺少"MMC_SD.h" 文件在哪里定义的啊?楼主,可以分享下移植好的完整代码么?
回复 支持 反对

使用道具 举报

0

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
410
金钱
410
注册时间
2017-1-6
在线时间
93 小时
发表于 2018-1-17 11:54:46 | 显示全部楼层
怒赞!太给力了
回复 支持 反对

使用道具 举报

13

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
550
金钱
550
注册时间
2017-10-17
在线时间
119 小时
发表于 2018-1-27 20:32:51 | 显示全部楼层
请问如果我使用最小系统上面并没有w25qxx芯片是不是不可以这么改了?
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2020-8-26
在线时间
3 小时
发表于 2020-8-26 11:53:00 | 显示全部楼层
66666666666666666
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2020-1-31
在线时间
16 小时
发表于 2020-12-21 20:16:33 | 显示全部楼层
reallm 发表于 2016-6-12 20:03
您好,文件系统可以直接打开.fon文件吗,我看原子锅的是可以打开.bin的,但是并没有提及.fon;还有楼主,能 ...

你好哦,虽然时间隔了好久,但是我也遇到了同样的问题。如果您已经解决的话能否教我一下呢
回复 支持 反对

使用道具 举报

1

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
333
金钱
333
注册时间
2016-7-29
在线时间
65 小时
发表于 2025-2-24 00:06:17 | 显示全部楼层
C:\Users\Min_Zhongmi\Desktop\微信图片_20250224000354.png
回复 支持 反对

使用道具 举报

1

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
333
金钱
333
注册时间
2016-7-29
在线时间
65 小时
发表于 2025-2-24 00:09:40 | 显示全部楼层
UNIGBK的地址需要使用物理地址才能正确对应,物理地址和逻辑地址偏移可以使用winhex软件查看,如下图
C:\Users\Min_Zhongmi\Desktop\微信图片_20250224000354.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-11 05:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表