墨水屏重点要做的是电子书,原理其实比较易于理解,在屏幕上将文字显示出来,就是将对应像素点点亮。由于墨水屏和LED屏是有区别的,其只能表示两个亮度,并不会有很多梯度,但是用于电子书是完全足够的。
实际使用过程中有老师提供的字库,只要你的数组按照GB2312进行编码,就可以根据公式在字库中找到对应的字符。这个字库中的每个字符是由16*16个像素点组成的,即2*16 = 32B表示一个中文字符。公式如下。
得到了对应的字符只需要也在对应墨水屏的像素点上也做好显示即可。这里我封装了几个函数。
1、显示1B,这个最简单也最基础,毕竟存储方式是B,那么其实只要通过移位即可将1B中的8bit都进行相应的显示了。输入参数是数据和位置
2、显示一个字,是使用显示1B函数来做这个操作。就是将完整的32B数据都显示在相应的位置上。在debug的时候可以按字显示。
3、显示一个字符串,传入的参数是字符数组,可以使用该函数显示不同数组。使用过程中会自动计算一页可以接收多少字符,并且返回值会将已显示的字符数量进行返回,以便一页无法显示完全之后的下一次显示。
使用了之前过程贴中的按键中断完成了翻页操作
B站的成果展示视频:https://www.bilibili.com/video/BV1UsWseKEno/
(p.s.第一次参加活动和发视频,希望各位大佬能指点一下啊~)