下面是我在原子大哥的warship 汉字显示例程改的 任意大小字体和图标字体显示方案,希望能给需要的人提供一点帮助。移植这个程序非常简单,只需要粘贴复制,使用这个程序也不需要注明出处,我也不需要任何版权。但如果你觉得对你有帮助的话我只希望你能做到将自己的心得体会分享给大家,不要只做伸手党。
使用方法:
将附件XXX解压出四个文件,粘贴到..\_WarShip\2,标准例程-V3.5库函数版本\实验41 汉字显示实验\TEXT目录下(没有warship板子的请直接下载源程序chinese display,接口自己更改即可)
将System解压到SD卡如图:
然后在主函数里写:
额外说明:
我没有用W25Q64,而是将字体全部储存在了SD卡中用文件系统读字库,方便简洁,解放了W25Q64。但是因为用了文件系统导致显示速度变慢,只适用于对显示速度要求不高的场合。大家也可以进一步开发将字体全部刷入W25Q64中以提高速度。SD卡读取字库并非我原创,但是作者是在找不到了,在这里很抱歉。 chinese display 是我自己更改过后的总程序,对原子大哥的源程序更改较大,可能比较难懂,但是程序量大大缩减。
注意:
ff_convert函数有BUG,请按照下面附件进行修改。但是本工程没有用到这个函数,为了以后应用扩展不出错,还是建议大家修改。
对于想要研究具体实现的网友可以直接看XXX的四个文件,里面注释比较全。
以下就是按照上面的步骤修改原子例程的效果。(121、131这两个数覆盖了底层,不用在意)
效果图:
其他字体和图标字体的制作:
这一部分也很简单,只要看懂了那四个文件就可以按照原子大哥教的制作字库来制作字库了。如果要制作大于40号的字请更改程序里面对应的数组。以更改Get_HzMat函数为主即可实现任意其他字体显示。
图标字体:
一般来说是不需要图标字体的,但是如果想实现按键以及图标这个方法还是很有用的,具体实现不解释,附件有本程序需要的字体,大家可以安装。
一般看程序就能看懂,关于图标字体我的灵感来自https://www.cirmall.com/circuit/1717/detail?3
另外提供几种图标字体https://www.cnblogs.com/chu888chu888/archive/2012/1...