数码相框(一、系统框架)

news/2024/11/8 17:10:19/

注:本人已购买韦东山第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。

1.项目流程

① 弄清需求 (弄清产品需要实现的功能);
② 设计框架 (怎么实现需求);
③ 编写代码 (通过代码设计实现产品功能);
④ 测试;

1.1 弄清需求:

① 上电,LCD显示一幅图片;
② 根据配置文件,决定停留在当前界面还是自动显示下一幅图片;
③ 点击一下出现对话框 (手动显示、自动显示)
在这里插入图片描述
④ 根据上下左右:放大、缩小、显示上/下一幅;
⑤ 左右移动很快时,显示上上/下下一幅图片;

1.2 设计框架

在这里插入图片描述
(1) 输入进程:创建3个线程:触摸线程、按键线程、主控线程
① 触摸线程:不停调用tslib,当有数据后,封装成事件,上报给.主控线程
② 按键线程:按键没有按下时休眠,按下时产生中断,封装好上报给.主控线程
③ 主控线程:收到数据后,通过socket发送给显示进程。

(2) 显示进程:创建7个线程:socket接收线程、主控线程、其他5个线程(当前、左、右、上、下)
① socket接收线程:用来接收socket,比如收到左划的数据,便通知事件到主控线程;
② 主控线程:根据得到的事件,然后调用驱动通过DMA将准备好的数据(位于某个内存上)放到显存地址framebuffer上.
③ 其他5个线程(当前、左、右、上、下):当主控显示完一个图片后,就开始准备好(解压上幅图片/下幅图片、放大、缩小等数据),方便主控线程直接调用,从而提高速度。(图片数据通过应用程序调用libjpeg库解压(将jpeg格式转换为LCD显示格式),然后使用mmap()函数传到某个内存上)

1.3 总结

① 输入线程:
   主控线程:得到上报的事件,使用socket发送给显示进程
   ts线程: 使用tslib读触摸屏数据,封装事件,上报
   按键线程:读按键,封装事件,上报

② 显示进程:
   socket线程:接收socket信息
   放大线程:准备好当前图片的放大数据
   缩小线程:准备好当前图片的缩小数据
   上一幅线程:准备好上一幅图片
   下一幅线程:准备好下一幅图片
   当前图片线程:准备好当前图片
   主控线程:根据socket线程得到的事件,决定显示哪一幅图片

③ 驱动:提供5块内存,还有DMA的操作,mmap


http://www.ppmy.cn/news/588347.html

相关文章

vue3-element-admin 项目说明文档

vue3-element-admin官方文档 | 在线预览 项目介绍 vue3-element-admin 是基于 Vue3 Vite4 TypeScript5 Element-Plus Pinia 等最新主流技术栈构建的后台管理前端模板(配套后端源码)。 项目有以下特性: 基于 vue-element-admin 升级到…

12、数码相框编写程序之效果演示与代码讲解

文章目录 1、编译方法2、运行3、完整代码讲解1、main函数先进行DebugInit()注册调试模块2、注册调试模块之后初始化调试通道3、注册显示设备4、为显示页面预先分配缓存5、初始化输入设备6、注册编码模块7、注册字库模块8、注册图片解析模块9、注册页面10、运行1、显示页面2、获…

数码相框(十七、数码相框程序编写_先写框架)

注:本人已购买韦东山老师第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。 1.数码相框需求框架 数码相框项目需求的框架如下图所示: ① 开发板上电后,进入…

1、数码相框之框架分析

文章目录 1、需求分析2、设计框架3、编写代码4、测试 下一节:2、数码相框之显示文字 设计产品时的思路大体如下: 弄清需求设计框架编写代码测试 1、需求分析 2、设计框架 系统工作大致流程如下: 1、输入进程 触摸屏线程(或按键…

10、数码相框编写程序之图标显示

文章目录 1、bmp数据提取1.1、bmp 文件格式1.2、文件信息头1.3、位图信息头1.4、RGB 颜色阵列1.5、关于pic_operation.h1.6、关于bmp.c 2、图片缩放3、图片合并4、测试 上一节:9、数码相框编写程序之框架分析 下一节:11、数码相框编写程序之MainPage显存…

Wifi-ESL接口文档

一、更新Wifi ESL数据接口,updateScreen 使用系统模板 接口简介: 使用服务器模板更新ESL数据 基本信息: 标识 接口信息 接口状态 开发中 接口地址 http://47.106.109.236:8010/mms/associate/updateScreen 请求方式 POST 请求类型 …

关于小米路由器青春版刷老固件

首先要知道因为重置过的路由器,未配置拨号或者宽带连联网,所以手动降级要将我们的电脑与路由器用网线连接,再登陆mini.com,进行刷机。

小米2s回退出厂版本_小米8青春版官方出厂rom系统刷机包_降级包回退包V10.0.8.0...

下面同样是这个小米8青春版的固件rom包了,也就是原版的系统刷机包了,不知道有没有机友需要的呢,在这里说的这个系统包是线刷格式的出厂rom包了,也就是原版的没有任何改的固件rom线刷包了,这个是很实用的,当…