数码相框的框架设计
你好!这里是我是学电子工程的博客,欢迎和我一起交流。
如果本篇博客对您有帮助,或许可以在下方评论给我留个言。ps(我是韦老大的学生^-^)
开始今天的项目分析
1.我们做什么项目,第一个是搞清楚项目的需求。
2.我们需要设计这个软件程序方面的框架
3.编写代码
4.编写测试
(同时这里也指出了几个岗位,一个是系统架构师,还有就是专家,比如这个程序里面涉及一个独一无二的算法,你就是里面的专家,其他的还有两个吧,将框架程序填满的人,比如c++工程师,应用工程师,还有一个就是测试软件工程师)
好了,下面我们来讲解一下,数码相框的功能,也就是它要提供什么样的需求:
图1.1
因为我们选的lcd它只支持电阻屏(无法支持双手操作)根据上下左右(上下控制照片放大和缩小),左右移动很快时,显示下一幅(界面显示)
写框架总结
程序框架,输入进程如图1.2和显示进程如图1.3
1.输入进程:a.主控线程:得到上报的事件,用socket发出
b.使用tslib读写TS,封装事件,上报
c.按键线程:读按键,封装事件,上报
图1.2
显示进程:a.socket线程接受socket
b.放大线程:准备好放大的数据
c.缩小线程:准备好缩小的数据
d.下一幅线程:准备好下一幅的图片
e.上一副线程:准备好上一幅的图片
f.当前图片线程:准备好当前的图片
主控:根据得到的事件,决定显示那一幅
图1.3
注释:Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。
因为我想把输入进程和独立进程独立出来,可以类比于stm32的库函数,直接可以拿来调用,以后还能拿出来用。增加可移植型。
b.为什么进程里面的模块成为线程了?
处于同一进程里面的线程可以互相使用线程里面的全局变量
线程之间的优点是他们共享全局变量