数码相框项目学习笔记(未完成)

项目来源:韦东山

一、弄清需求

             1、上电,LCD显示一副图片

             2、根据配置文件,决定停留还是自动显示下一副

             3、点击一下,出现对话框,选择手动或自动显示方式

             4.根据上下左右,达到放大缩小或显示下一幅的功能

             5、左右移动很快时,显示下一幅图片

二、框架

       输入进程:

                            1.主控线程:得到上报的事件,用socket发出

                            2.ts线程:使用tslib读ts,封装事件,上报

                            3.按键线程:读按键,封装事件,上报

       显示进程:

                            1.socket线程:接收socket信息

                            2.放大线程:准备好当前图片的放大数据

                            3.缩小线程:准备好当前图片的缩小数据

                            4.上一幅线程:准备好上一幅图片

                            5.下一幅线程:准备好下一幅图片

                            6.当前图片线程:准备好当前图片

                            7.主控线程:根据得到的事件,决定显示哪一副

为什么使用进程与线程呢?

是因为 进程之间保持独立,方便以后的移植。线程之间在保持相对独立的前提下,也共享一个进程的公共资源。

       驱动:分配5块内存,DMA操作,mmap

---------------------------------------------------

文字编码方式

源文件用不同的编码方式编写,会导致执行结果不一样。

怎么解决?编译程序时,要指定字符集

man gcc   ,     /charset

-finput-charset=charset     表示源文件的编码方式,默认以UTF-8来解析

-fexec-charset=charset      表示可执行程序里的字以什么编码方式来表示,默认是UTF-8

gcc -finput-charset=GBK -fexec-charset=UTF-8 -o utf-8 ansi.c     表示源程序以国标来编码,可执行程序以UTF-8来编码表示,将ansi.c文件编译为utf-8文件。

---

 ---------------------------------------

 

 

你可能感兴趣的:(数码相框项目学习笔记(未完成))