你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

emWin外部字库使用遇挫

[复制链接]
翔飞 提问时间:2014-3-24 20:08 /
 

emWin5.12
芯片选用STM32F103VC
LCD使用TFT1289

参照 [STemWin教程入门篇]第六期:emWin5.20汉字显示方法二(将字库放到外部Flash,SD卡等)移植了字库,并显示出来


如图,使用外部字库时,字体可以正常显示,但是背景却出现了好多黑色的区域,(不使用外部字库时背景正常)
还请各位帮忙分析原因  。。。
这里是程序 GUI+OS.zip (2.53 MB, 下载次数: 196)
收藏 1 评论16 发布时间:2014-3-24 20:08

举报

16个回答
glcd 回答时间:2016-7-12 16:03:23
【能接emWin的SPI串口屏】
GLCD功能类似于SPI串口屏,只是SPI接口通信更快速,以至能作为emWin(第三方界面软件库)的图形显示屏,弥补emWin使用字库/图片麻烦以及刷屏慢的缺点,这样emWin做界面就更精美、便捷!
emWin界面软件库是运行在用户CPU中的;GLCD负责储存字库和图片,以及接收由emWin发出的绘图指令,并且执行这些绘图指令以显示文字、图片、2D图形等,绘图指令代替像素操作可大大减轻用户CPU的负担;GLCD还管理触摸屏、鼠标、键盘、蜂鸣器、RTC时钟等外设。
更多介绍请看:www.neqee.com
随缘浪子2013 回答时间:2016-5-22 23:35:14
十分感谢分享.....
那片清茶 回答时间:2014-3-25 09:12:37

RE:emWin外部字库使用遇挫

是不是扫描出现问题了。
翔飞 回答时间:2014-3-25 10:09:15

回复:emWin外部字库使用遇挫

回复第 2 楼 于2014-03-25 09:12:37发表:
是不是扫描出现问题了。
不使用外部字库的时候,显示是正常的。
 
我爱下载 回答时间:2014-3-25 10:12:22

RE:emWin外部字库使用遇挫

字库是自己做的还是直接利用现成的字库啊,是不是字库的解析有问题
翔飞 回答时间:2014-3-25 11:57:11

回复:emWin外部字库使用遇挫

回复第 4 楼 于2014-03-25 10:12:22发表:
字库是自己做的还是直接利用现成的字库啊,是不是字库的解析有问题
 
 
直接利用现成的,
system.zip (1.21 MB, 下载次数: 100)
废鱼 回答时间:2014-3-25 17:19:30

RE:emWin外部字库使用遇挫

仿真看一下,显示下个字体的时候,字库读取的数据是什么样的。能不能把你说的两种情况发一下图片。
翔飞 回答时间:2014-3-25 20:43:54

回复:emWin外部字库使用遇挫

回复第 6 楼 于2014-03-25 17:19:30发表:
仿真看一下,显示下个字体的时候,字库读取的数据是什么样的。能不能把你说的两种情况发一下图片。
 
 
先上一张正常的图
使用自动存储,创建对话框,建立按钮 TEXT ,字体全部使用emwin自带字体
图片7.png
 
 
11111111111111111111111111111
程序使用自动存储,创建一个对话框,在对话框里建立一个 按钮(显示emwin自带英文字符) 和 一个TEXT文本(显示外部字库的汉字)“世界人民需要你”
图片1.png
实际显示如图
图片2.png
背景出现了黑色的区域,但是 TEXT可正常显示字体,点击 按钮 之后按钮上的字符没有出现乱码的现象
 
222222222222222222222222222222222222
不使用自动存储的情况,如下图,TEXT不能正常显示汉字,按钮可正常显示字符
图片3.png
点击按钮之后,按钮上的英文字符也不能正常显示了,如图
图片4.png
貌似跟存储设备也有关系,关闭了之后,背景显示倒是正常了,可是点击按钮之后,按钮显示的字符又不正常了。
 
3333333333333333333333333333333333
不创建对话框,直接在LCD绘制汉字,程序
图片5.png
实际显示如下(关闭或者开启自动存储,效果都是一样)
图片6.png
 背景是正常的,显示字体是不正常的
 
 
 
 
 
翔飞 回答时间:2014-3-25 20:50:20

回复:emWin外部字库使用遇挫

回复第 6 楼 于2014-03-25 17:19:30发表:
仿真看一下,显示下个字体的时候,字库读取的数据是什么样的。能不能把你说的两种情况发一下图片。
 
好像得出一点结论
背景不能正常显示跟 自动存储有关
汉字不能正常显示,也许该按你说的看下字库读出的数据
还有一个问题,有存储设备的时候,字体可以正常显示,不使用的时候,按钮和TEXT显示都会乱码
 
翔飞 回答时间:2014-3-25 23:42:22

回复:emWin外部字库使用遇挫

回复第 6 楼 于2014-03-25 17:19:30发表:
仿真看一下,显示下个字体的时候,字库读取的数据是什么样的。能不能把你说的两种情况发一下图片。
 
问题出在FATFS读取TF卡的函数,我把字体的编码直接给缓冲区,这样没有一点问题,
还不清楚是Fatfs还是SDIO的问题。
我用printf打印出来GUI_FontDataBuf的数据,也没发现什么问题,纠结。。。
图片1.png
 
废鱼 回答时间:2014-3-26 11:39:58

RE:emWin外部字库使用遇挫

这样就要看你读取出来的数据了。另外,你要注意一下显示的时候,一般以\0结束,如果没有\0他会把后面的数据也显示的。建议你显示的时候加一个长度的处理,不要用strlen来判断长度。
翔飞 回答时间:2014-3-26 14:24:45

回复:emWin外部字库使用遇挫

 
SD_Init();  SDIO初始化函数
这个函数影响,不管使不使用外部字库,只要加载了它,就有问题。
废鱼 回答时间:2014-3-26 15:00:49

RE:emWin外部字库使用遇挫

SD初始化过程应该不会和LCD产生冲突,产生冲突的应该也只有IO口。这样仿真一下,SD初始化过程中,哪儿引起的冲突。是由于IO口,还是其他的。
翔飞 回答时间:2014-3-26 19:49:34

回复:emWin外部字库使用遇挫

回复第 12 楼 于2014-03-26 15:00:49发表:
SD初始化过程应该不会和LCD产生冲突,产生冲突的应该也只有IO口。这样仿真一下,SD初始化过程中,哪儿引起的冲突。是由于IO口,还是其他的。
 
来结贴
可能是我的芯片的问题,单独使用TF卡和FSMC时都没问题,就是使能SDIO时钟之后就不正常了
换块板子,正常显示。
 
感谢大家帮助,感谢 安
 
废鱼 回答时间:2014-3-27 10:13:57

RE:emWin外部字库使用遇挫

如果有问题,欢迎来提问。大家共同学习。
feiante-155820 回答时间:2014-4-12 16:26:25

RE:emWin外部字库使用遇挫

仿真看看你实际读到的数据吧,没有用外部存储可以正常显示,说明你的显示驱动和程序应该是正确的,用了外部存储不能正常显示,可能就是显示的数据不对,比如背景的数据。
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版