一、写在前面
原本,本文计划使用 libjpeg 库在LCD显示一张jpg图片,但是突然发现前面两篇博文的储备+前面LCD驱动 已经
能够写出一个电子书,即打开不同编码的文件在LCD显示(当然后期可在控制台显示)。这个项目实现不难,但这个项目
的框架值得学习,以及从这个项目学会如何规范编码?如何写多级目录的Makefile?源码如何组织?等等这些值得我们
学习,因此,下面讲解这个项目总体框架,然后实现这个项目分为几篇博文讲解,即如何实现这个小项目。
二、电子书的框架
1.1 电子书的框架图
相比LCD裸板编程的框架,两者的核心思想都是相同的——分层分离思想。
实现上,都是“面向对象”编程。即每个子模块的管理者抽象出底层的共性(属性和方法),并以结构体封装。
底层的代码分配并设置这个结构体(差异性)后向管理者注册这个结构体,而管理者以“数组”或“链表”方式
管理这些结构体,并提供一些接口供上层使用,上层则无需理会底层的差异性,只需与管理者打交道。
1.2 电子书的源码树
1.3 效果是怎样的呢?
三、电子书实现安排
基于电子书框架,打算用五篇博文实现这个项目,安排如下
1. 点阵显示
2. 获取点阵
3. 获取字符编码
4. 核心管理者 draw.c 的实现
5. 编译、测试与总结
OK,本文讲到这里,后面将按这五步依次实现 :)