![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux项目
文章平均质量分 83
Linux项目实战
Louis@L.M.
放慢脚步,享受技术!
展开
-
数码相框(十八、bmp数据提取用于图标显示)
注:本人已购买韦东山老师第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。1. 数码相框效果图根据上一节的数码相框需求框架可得出的大致效果图如下图所示: 上图的图标都是经过缩小的图标,实际上这些图标的分辨率都是比较大的,例如方形的图标分辨率为 128*128;但是我们 Jz2440 开发板的 LCD 只有 480 * 272,如果按实际图片的尺寸大小显示,显然是不可取的,所以需要进行 图片缩放 ;另外上图图标的格式为 bmp 格式的图标,要在 LCD 上显.原创 2021-03-16 00:13:34 · 487 阅读 · 3 评论 -
数码相框(十七、数码相框程序编写_先写框架)
注:本人已购买韦东山老师第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。1.数码相框需求框架数码相框项目需求的框架如下图所示:① 开发板上电后,进入主界面(Main page),在主界面中有 3 个触摸按钮:浏览模式、连播模式、设置。② 点击浏览模式,进入到浏览界面(Explore page),浏览界面分成两部分:菜单、图标(文件或者文件夹)。其中菜单,向上:当我们进入了某个文件夹里,想要退出来,点击向上即可退出;选择:当我选中了某个图片之后,点击选择即可.原创 2021-03-12 17:54:13 · 905 阅读 · 0 评论 -
数码相框(十六、LCD显示JPG格式图片)
注:本人已购买韦东山老师第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。1. LCD 如何显示一张图片?假如下图是是我们的 JZ2440 开发板,它有一个块显存、LCD控制器、LCD显示屏,LCD是如何显示张图片的呢?如上图所示:① 图片的颜色数据存放在显存,LCD 控制器会自动从显存取出图片的一个个颜色数据发送给LCD,取到最后又从头开始的循环取数据,最终把一张图片的全部颜色数据发送到LCD上,从而在LCD显示出该图片;② 显存存放的数据是RGB数据;.原创 2021-03-12 12:10:33 · 1501 阅读 · 0 评论 -
数码相框(十五、电子书支持远程打印)
注:本人已购买韦东山老师第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。这一节我们继续修改电子书的源码,让电子书既能够通过标准输入打印,也能通过网络远程打印,新的代码框架如下图所示:...原创 2021-03-04 17:40:22 · 367 阅读 · 0 评论 -
数码相框(十四、TCP/UDP 网络编程)
注:本人已购买韦东山第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。在此之前我们都是使用 printf 串口打印调试信息的,这存在明显的缺点:① 比较麻烦:程序是运行在设备(这里是开发板)上的,假如我们有很多设备需要同时测试,需要接很多的串口线;② 不好管理;③ 速度慢:假如打印的信息很多,这样打印的速度会变得非常慢;④ 一般,在产品发布的时候,会把相应的串口打印功能去掉,速度和效率上的问题会导致系统在测试时和发布时性能不一致,有些问题就会因此被掩盖。网络通信:数.原创 2021-03-02 16:37:26 · 309 阅读 · 1 评论 -
数码相框(十三、实现电子书滑动翻页)
注:本人已购买韦东山第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。上一节我们使用了多线程的方法去获取标准输入与LCD触摸屏的输入事件,这一节将在此基础上通过在LCD触摸屏上滑动,实现控制电子书的上下翻页。如下图所示,是一个LCD触摸屏,我们通过向左向右滑动控制电子书的上下翻页。那么我们的程序怎么做呢?从按下开始记录按下起始位置的LCD x 坐标,松开后在次记录松开时的LCD x 坐标,然后用松开时的 x 坐标减去按下时的x坐标计算出他们的差值,通过差值的正负判断是.原创 2021-02-25 18:22:06 · 317 阅读 · 0 评论 -
数码相框(十二、多种方法支持多输入之适用多线程)
注:本人已购买韦东山第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。多线程的优点:CPU占用率低,非常灵活,适用范围广参考:《Unix_Linux_Windows_OpenMP多线程编程.pdf》 P18 3.3.2 条件变量...原创 2021-02-25 16:25:54 · 423 阅读 · 1 评论 -
数码相框(十一、多种方法支持多输入之select方式输入)
注:本人已购买韦东山第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。原创 2021-02-24 16:16:35 · 285 阅读 · 1 评论 -
数码相框(十、多种方法支持多输入之轮询方式)
注:本人已购买韦东山第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。这一节主要讲述如何使用触摸屏操作电子书,实现电子书的翻页。1. 使用轮询方式输入2. 使用select方式输入3. 使用多线程方式输入...原创 2021-02-23 19:07:11 · 410 阅读 · 0 评论 -
数码相框(九、编写通用的Makefile)
1. 程序的编译过程(1) 一个C/C++程序要经过预处理、编译、汇编、链接 4个步骤才可以变成可执行文件:预处理: ① 把包含的头文件插入源文件中;② 将宏定义展开;④ 根据条件编译选择要使用的代码;⑤ 最后把代码输出到一个“.i” 格式的文件中等待下一步的处理;编译:把C/C++代码(比如上述的 “.i” 文件)“翻译” 成 “.s” 汇编代码;汇编:就是把上一步编译出来的 “.s” 汇编代码翻译成 “.o” 格式的机器代码;链接:就是把上一步的 “.o” 格式的文件、系统的库文件等链接起来原创 2021-01-14 15:02:27 · 352 阅读 · 0 评论 -
数码相框(八、在PC(ubuntu)上实现电子书)
注:本人已购买韦东山第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。在数码相框(六、在LCD上显示任意编码的文本文件)中,我们以面向对象的思想实现了在LCD上显示电子书,应用程序框架如下图所示:对于每一个模块,我们都会抽象出一个结构体,然后分配、设置、注册这个结构体。例如,在显示模块中,我们抽象出了T_DispOpr这个结构体,并且在fb.c中分配、设置、注册了一个T_DispOpr结构体,实现了LCD的初始化、像素显示等功能。这一节我们添加 crt.c 实现在.原创 2021-01-01 00:44:22 · 581 阅读 · 1 评论 -
数码相框(七、电子书之指针和链表操作)
注:本人已购买韦东山第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。1. 电子书之指针操作内存就像是一个一个的格子,格子里面存放的是数据,每一个格子都有一个对应的编号,这格子的编号就是内存的地址。一个格子存放一个字节的数据,即在内存中一个地址里存放一个字节。在C语言里,每一个变量都有一个存储它的地址,例如,使用C语言定义以下变量:char c;int a;int *p;其中,&c = 格子的编号 ,格子的编号,即存放变量c的地址。(.原创 2020-12-28 15:49:40 · 337 阅读 · 0 评论 -
数码相框(六、在LCD上显示任意编码的文本文件)
1. 怎么在LCD上显示文件:(1) 去文件中获得编码,例如:ASCII、GBK、UTF-8、UFT16LE、UTF16BE等;(2) 根据该编码得到字体数据(即字体点阵数据);(3) 把点阵在LCD上显示出来;2. 以面向对象的思想编写程序,即模块化(1) 以前写驱动的时候,步骤:分配一个结构体;设置结构体;注册;(2) 以面向对象的思想,设计应用程序框架:...原创 2020-12-26 09:23:02 · 1269 阅读 · 0 评论 -
数码相框(五、使用freetype库在LCD显示几行文字)
注:本人已购买韦东山第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。1.在LCD显示几行文字(1) 在LCD显示几行文字,我们分为两种显示方法:① 从左边起开始显示几行文字;② 居中显示几行文字。例如:要显示以下两行文字:百问网gifwww.100ask.net注:其中 “百问网gif” 为什么要加一个 “g” 呢?因为字母 “g” 的下半部会超出这行文字的底线。(2) 从左边显示和居中显示的方法有什么不一样呢?① 从左边显示:先描画,再算出边框.原创 2020-12-15 22:50:19 · 659 阅读 · 1 评论 -
数码相框(四、使用freetype库实现矢量字体显示)
1. 矢量字体原理原创 2020-12-10 19:39:05 · 1961 阅读 · 3 评论 -
数码相框(三、LCD显示文字)
1.原创 2020-12-10 17:38:04 · 1670 阅读 · 0 评论 -
数码相框(二、字符的编码方式)
2. 显示文字2.1 文字编码方式2.2 英文字母、汉字的点阵显示2.3 使用freetype来显示任意大小的文字2.4 编写一个通用的Makefile原创 2020-12-10 17:32:53 · 571 阅读 · 0 评论 -
数码相框(一、系统框架)
1.步骤:① 弄清需求;② 设计框架;③ 编写代码 ;④ 测试;1.1 弄清需求:① 上电,LCD显示一幅图片;② 根据配置文件,决定停留在当前界面还是自动显示下一幅图片;③ 点击一下出现对话框,④ 根据上下左右:放大、缩小、显示下一幅;⑤ 左右移动很快时,显示下下一幅图片;1.2 设计框架1.3 总结① 输入线程:主控线程:得到上报的事件,使用socket发送给显示进程ts线程: 使用tslib读触摸屏数据,封装事件,上报按键线程:读按键,封装事件,上报② 显示进程:so原创 2020-12-10 17:31:01 · 784 阅读 · 0 评论