logo资料库

韦东山数码相框笔记.pdf

第1页 / 共320页
第2页 / 共320页
第3页 / 共320页
第4页 / 共320页
第5页 / 共320页
第6页 / 共320页
第7页 / 共320页
第8页 / 共320页
资料共320页,剩余部分请下载后查看
韦东山第三期第一个项目--数码相框
第 1 课第 1 节_数码相框之系统框架_P
1. 程序框架:
第 1 课第 2.1 节_数码相框_字符的编码方式_P
2.1 文字编码方式
编译程序时,要指定字符集
第 1 课第 2.2 节_数码相框_字符的点阵显示_P
2.2 英文字母、汉字的点阵显示
配置内核,将 lcd.c 编译进内核
第 1 课第 2.3.1 节_数码相框_freetype 理论介绍_P
2.3 使用 freetype 来显示任意大小的文字
2.3.1 节_数码相框_freetype 理论介绍
第 1 课第 2.3.2 节_数码相框_在 PC 上测试 freetype_P
2.3.2 节_数码相框_在 PC 上测试 freetype
在 ubuntu 上安装 freetype-2.4.10
下面想要在 PC 上显示中文
宽字符
深入理解
第 1 课第 2.3.3 节_数码相框_在 LCD 上显示一个矢量字体_P
交叉编译 freetype 库
先看看编译出来的头文件应该放在哪个目录
再看看编译出来的库文件应该放在哪里
去掉 freetype2 这一层
freetype 动态库拷贝到网络根文件系统
在 LCD 上面显示矢量字体
在 LCD 上面显示文字并显示一个角度
第 1 课第 2.3.4 节_数码相框_在 LCD 上显示多行文字_P
显示一行文字
显示两行文字
居中显示两行文字
第 1 课第 3.1 节_数码相框_额外项目_电子书之效果及框架_P
显示一本电子书
显示一个文本文件
下面开始讲解电子书程序
电子书程序框架
第 1 课第 3.2 节_数码相框_额外项目_电子书之代码阅读及编写_P
第 1 课第 3.3 节_数码相框_额外项目_电子书之指针的操作_P
第 1 课第 3.4 节_数码相框_额外项目_电子书之链表的操作_P
第 1 课第 3.5 节_数码相框_额外项目_电子书之在 PC 上显示_P
给 svgalib 源码打补丁
用一个 for 循环把所有补丁文件都打上
第 1 课第 4 节_数码相框_编写通用的 Makefile_P
a. 如何自动生成依赖文件
b.怎么把自动生成的依赖文件包含进 Makefile
仔细分析第四个 Makefile
修改 Makefile,让其能够支持一个工程
第 1 课第 5.1 节_数码相框_使用多种方法支持多输入_框架及轮询方式_P
如何使用触摸屏
如何查看 CPU 占用率
第 1 课第 5.2 节_数码相框_使用多种方法支持多输入_select 方式_P
如何使用触摸屏
如何查看 CPU 占用率
第 1 课第 5.3 节_数码相框_使用多种方法支持多输入_多线程_P
如何使用触摸屏
如何查看 CPU 占用率
第 1 课第 6.1 节_一小时学会网络编程_两个简单例子_tcp_udp_P
子进程
下面开始写客户端程序----TCP
怎么解决僵死进程的问题?
下面开始写 UDP 的代码
客户端不写 connect 函数
第 1 课第 6.2 节_修改电子书源码支持远程打印 1_P
第 1 课第 6.2 节_修改电子书源码支持远程打印 2_P
可变参数
网络通信使用 UDP
环形缓冲区
使用多线程网络通信
启动开发板
把串口打印关掉
如何使用打印级别
第 1 课第 7 节_libjpeg 的使用_P
交叉编译 libjpeg
设置解压参数,比如放大、 缩小
把 jpg 图片在 lcd 上面显示出来
第 1 课第 8.1 节_数码相框功能及程序框架_P
8. 大综合:实现数码相框
第 1 课第 8.2 节_数码相框程序编写_先写框架_P
第 1 课第 8.3.1 节_数码相框程序编写_图标显示之 bmp 数据提取_P
bmp 文件格式
向 4 取整
第 1 课第 8.3.2 节_数码相框程序编写_图标显示之缩放_P
第 1 课第 8.3.3 节_数码相框程序编写_图标显示之测试_P
在开发板上运行
结构体对齐问题
第 1 课第 8.4.1 节_数码相框程序 GUI 编写_MainPage 显存管理_P
第 1 课第 8.4.3 节_数码相框程序 GUI 编写_MainPage 输入功能_P
第 1 课第 8.4.4 节_数码相框 GUI 程序编写_MainPage 测试_P
修改顶层 Makefile, 把所有的警告当做错误处理
第 1 课第 8.5.1 节_数码相框效果演示及编译使用方法
交叉编译安装 tslib 库
第 1 课第 8.5.2 节_数码相框完整代码的讲解_P
第 1 课第 8.5.3 节_数码相框改进性能_支持中文_P
第 1 课第 8.5.4 节_数码相框课后作业及思路_P
韦东山第三期第一个项目--数码相框 编者:马辰旭 v2016.02.04 第 1 课第 1 节_数码相框之系统框架_P 数码相框看起来功能是挺简单的,但是想把它做好一点都不简单,并且里面涉及的很多编程 的思想是有很多普适性的。 拿到一个项目之后,肯定不是一上来就闷头写代码,先做什么事情? 写程序的方向:
需求分析: 1. 程序框架:
程序框架总结: a.为什么要分输入进程和显示进程呢? 因为我想把输入进程和显示进程两个模块独立出来。 以后想把一个模块独立出来,就为这个模块单独写一个进程。 b.为什么进程里面的模块要称之为线程呢? 处于同一个进程里面的线程可以互相使用线程里面的全局变量。 线程之间的优点是它们共享全局变量。
第 1 课第 2.1 节_数码相框_字符的编码方式_P 2. 显示文字 2.1 文字编码方式
代码见: 第 1 个项目数码相框全部源码_图片_文档\源码(含讲课过程中即时编写的文档)\01.字符编码 源码_文档_图片\字符编码\2th ansi.c utf-8.c 同一段代码源文件用不同的编码方式保存,会导致执行结果不一样: 怎么解决?编译程序时,要指定字符集 查看 gcc 手册 :man gcc 搜索 charset :
可以指定输入字符集: 还可以指定编译出来的可执行程序里面的字符是用什么字符集表示的: -finput-charset=charset 表示源文件的编码方式, 默认以 UTF-8 来解析 -fexec-charset=charset 表示可执行程序里的字符以什么编码方式来表示,默认是 UTF-8 gcc -o a a.c // 这里没有指示源文件的编码方式也没有指示生成的可执行程序里的字符以 什么编码方式来表示,所以源文件的编码方式默认以 UTF-8 来解析;可执行程序里的字符默 认是 UTF-8 为什么 gcc -o a a.c 没有指定源文件和可执行文件的编码方式,为什么 d6 d0 还是用国标表 示呢?不是说默认是 UTF-8 吗? 本来源文件 ansi.c 是以 ASCII 码编码方式保存的,gcc 去读入的时候是用 UTF-8 来解析源文件 ansi.c,解析时发现没有错误,d6 d0 骗过了 gcc 编译器,gcc 编译器误认为 d6 d0 就是 UTF- 8 格式,所以输出的时候输出了 d6 d0。 // -finput-charset=GBK 指定输入字符集 GBK // -fexec-charset=UTF-8 指定输出字符集 UTF-8 gcc -finput-charset=GBK -fexec-charset=UTF-8 -o utf-8_2 ansi.c 与之前 utf-8 编码格式的源文件编译产生的可执行文件输出结果一样:
第 1 课第 2.2 节_数码相框_字符的点阵显示_P 代码见:第 1 个项目数码相框全部源码_图片_文档\源码(含讲课过程中即时编写的文档)\02. 点阵字符显示_源码_文档_图片\02.dot_font show_font.c 2.2 英文字母、汉字的点阵显示 英文字母的点阵写在程序里,放在一个数组里面 汉字的点阵用 HZK16 内存映射 mmap 函数用法: 使用 man 查询:
HZK16: LCD 显示 ASCII 码:
分享到:
收藏