【转载】在GoKit上加个OLED显示屏
帖子链接:http://bbs.elecfans.com/jishu_498396_1_1.html帖子作者:czhsqqc
继上次发完开箱帖后有段时间了,看了下大家的试用帖,好像没有介绍关于GoKit上预留的OLED口的帖子,所以我来发下把
http://bbs.elecfans.com/data/attachment/forum/201507/11/115955ie91tqe7gglhd6e1.jpg.thumb.jpg
GoKit的微信宠物屋源码是有提供OLED的库的,可以直接调用,但如果想要显示中文,就需要看下它的例程,好好学习下了,了解它显示的流程。
首先,给大家提供一个字模提取软件。 http://bbs.elecfans.com/static/image/filetype/zip.gif PCtoLCD2002.zip (886.17 KB, 下载次数: 0)
http://bbs.elecfans.com/data/attachment/forum/201507/11/115530zw9pik4lp9gr4934.jpg.thumb.jpg
接下来给大家看看显示效果 http://bbs.elecfans.com/data/attachment/forum/201507/11/120221sjopozoossopsvd7.jpg.thumb.jpg
实现步骤:
首先把中文字库生成
取模软件先设置下
http://bbs.elecfans.com/data/attachment/forum/201507/11/124112gd2880j80j2xjuqd.jpg.thumb.jpg
然后就可以在输入框里输入中文,生成数据了。
接下来就是写显示中文的函数,以下代码供参考。
[*]void OLED_ShowChinese(uint8_t X, uint8_t Y, uint8_t P)
[*]{
[*]uint8_t Temp, t, t1, Temp1;
[*] uint8_t y0 = Y;
[*] uint8_t x0 = X;
[*]
[*] for(t = 0; t < 16; t ++)
[*] {
[*] Temp = OLED_Chinese;
[*] for(t1 = 0; t1 < 8; t1 ++)
[*] {
[*] if(Temp & 0x80)
[*] OLED_DrawPoint(X, Y, 1);
[*] else
[*] OLED_DrawPoint(X, Y, 0);
[*] Temp <<= 1;
[*] Y ++;
[*] if((Y - y0) == 8)
[*] {
[*] Y = y0;
[*] X ++;
[*] break;
[*] }
[*] }
[*] }
[*] Y+=8;
[*] y0=Y;
[*] X=x0;
[*] for(t = 0; t < 16; t ++)
[*] {
[*] Temp1 = OLED_Chinese;
[*] for(t1 = 0; t1 < 8; t1 ++)
[*] {
[*] if(Temp1 & 0x80)
[*] OLED_DrawPoint(X, Y, 1);
[*] else
[*] OLED_DrawPoint(X, Y, 0);
[*] Temp1 <<= 1;
[*] Y ++;
[*] if((Y - y0) == 8)
[*] {
[*] Y = y0;
[*] X ++;
[*] break;
[*] }
[*] }
[*] }
[*]}
复制代码
在需要**的地方**下函数。
最后在需要显示中文的地方调用就ok了。
谢谢,已经移植成功:):):) 移植成功,3Q,嘻嘻。:)
页:
[1]