《嵌入式系统综合课程设计说明书-基于嵌入式的数码相框设计》

上传人:汽*** 文档编号:561174304 上传时间:2023-11-17 格式:DOC 页数:20 大小:817.50KB
返回 下载 相关 举报
《嵌入式系统综合课程设计说明书-基于嵌入式的数码相框设计》_第1页
第1页 / 共20页
《嵌入式系统综合课程设计说明书-基于嵌入式的数码相框设计》_第2页
第2页 / 共20页
《嵌入式系统综合课程设计说明书-基于嵌入式的数码相框设计》_第3页
第3页 / 共20页
《嵌入式系统综合课程设计说明书-基于嵌入式的数码相框设计》_第4页
第4页 / 共20页
《嵌入式系统综合课程设计说明书-基于嵌入式的数码相框设计》_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《《嵌入式系统综合课程设计说明书-基于嵌入式的数码相框设计》》由会员分享,可在线阅读,更多相关《《嵌入式系统综合课程设计说明书-基于嵌入式的数码相框设计》(20页珍藏版)》请在金锄头文库上搜索。

1、内蒙古工业大学信信工程学校代码: 10128学 号: 嵌入式系统综合设计说明书题 目: 基于嵌入式的数码相框设计学生姓名: 组 别:学 院: 信息工程学院班 级: 计08-3班指导教师: 2011年9 月 20 日摘要2ABSTRACT2一、设计任务与要求31、任务:32、要求:3二、设计方案31、总体设计功能32、设计思路:43、显示图片:44、鼠标控制:45、网路检测更新图片下载:4三、软件设计41、主要模块流程图42、部分程序清单及注释62.1、客户端主程序:62.2、三种图片更换效果83、服务器端程序流程图134、服务器端主程序:14四、调试过程171、实验步骤171.1、进入linu

2、x环境,启动两个终端,一个用于服务器程序,一个用于客户端程序。171.2、解压freetype_2.3.11.tar.bz2文件,进入其目录下,输入make命令进行编译连接。171.3、在命令行执行source ./dpf.sh shell文件。171.4、在命令行 sudo chmod 777 /dev/fb0 sudo chmod 777 /dev/input/mice 命令,输入密码即可。1715、启动服务器终端,在命令行使用make命令,输入./server运行程序。171.6、启动客户终端,在命令行使用make命令,输入./client运行程序。172、出现的问题172.1、每当鼠标

3、滑过都会有痕迹留下,看上去很像画笔。172.2、程序编译时出现段错误。172.3、下载文件时出现阻塞现象。173、解决方法173.1、在鼠标绘制前保留一下上一时刻鼠标锁在位置的像素值,鼠标过后在还原,问题解决。1732、出现段错误的地方很多,原因也很多一般是越界了,把内存地址中的其他值给冲掉了,用gdb调试即可找到问题所在。183.3、下载文件时出现阻塞现象的可能原因是套接字read与write不同步,还有可能是文件读完了,获得不到中断信号,退不出循环体,这是只要获得文件的大小即可(获取文件大小用lseek函数)。18五、总结18六、参考文献19摘要数码摄影已经成为如今的主流摄影方式,但并不是

4、每个美丽的瞬间都用相纸冲刷出来(原因:这需要大量的金钱),经过市场调查只有%35左右的相片被冲洗,为了尽可能的减少人们的遗憾,数码相框的产生成为了必然,数码摄影也推动数码相框的发展。本设计主要应用了C/S模式,实现了网络间的数据传递和服务器的并发。客户端(Client)实现了鼠标控制,图片接受,图片的检测更新,图片的显示等功能,服务器(Server)主要实现图片的检测更新及传递数据,图片显示主要是引入了JPEG数据库包(Copyright George Peter Staplin),使我们的设计更为简单易懂。服务器使用了fork()函数实现的服务器并发,使阅读程序的人员能更清楚地理解服务器并发

5、的实现。关键词: 鼠标控制,服务器并发,检测更新ABSTRACTDigital photography has becomed the mainstream of the photography way.Now ,it is not every beautiful moments all washed out by the paper ( Reason: this will need a lot of money). By market investigation only around thirty-five percent of pictures were flush, in order

6、to minimize the number of people regret, digital photo frames become necessary, digital photography promote the development of the digital photo frame. This design is mainly used for C/S mode, and realize the data transfer between the network and server concurrent. The Client realized the mouse cont

7、rol, pictures accepts, images of the detection update, pictures of the show, and other functions, Server mainly realizes the detection update and pictures, pictures showed the main transfer data introduce JPEG database bag (Copyright George Peter Staplin), make our design more simple to understandab

8、le. Server use fork () of the realization of the function, make reading program server and the personnel can be more clearly to understand the realization of the concurrent server. Key words: The mouse control, Server concurrent, Detection update 一、设计任务与要求1、任务:在linux(ubuntu)系统下利用C语言开发一个具有上传下载、鼠标控制、图

9、片自动更新且图片具有多样式动态功能特效的数码相框。2、要求:对鼠标,和图片做效果处理,实现服务器的并发操作。二、设计方案1、总体设计功能 实现对鼠标的控制功能,图片检测更新,图片的轮换显示(实现幻灯片的效果),网络间图片的传递,多客户端服务器的并发。2、设计思路:在客户端要实现三大主要功能:显示图片、鼠标控制、网络检测更新图片下载。3、显示图片:在程序中用FrameBuffer设备(/dev/fb0)映射到进程的地址空间,再用mmap进行地址映射,取mmap中的值进行解压、缩放、色值还原,打印图片(调用gpeglib库,用jpeg算法解压)。4、鼠标控制:在程序中用FrameBuffer设备(

10、/dev/fb0),鼠标控制设备(/dev/input/mice),用10*17的数组 cursor绘制鼠标,再用mmap映射答应道屏幕上;5、网路检测更新图片下载:使用网络套接字TCP协议接受服务器发送的图片,使用链表把所有的图片都串起来,监控图片更新。客户端要实现上述三种功能的同步,因此我选用了进程实现的这个功能,因为每个进程之间是独立的,但还要用鼠标控制图片的切换速度(正常每五秒切换一张,点击鼠标后立刻切换到下一张),为此我又用信号量来解决此问题。在服务器端主要实现图片的更新和上传。三、软件设计1、主要模块流程图开始模块初始化读取jpeg文件夹内的图片是否有图片?建立链表将图片链接按链表

11、读取图像数据绘制鼠标对图像进行解码显示图片交换图片结束client等待下载图片是否成功客户端程序流程图2、部分程序清单及注释2.1、客户端主程序:#includehead.hint main(void)int res, i, n;fb_info fb;pid_t pid;pid_t *p;struct sigaction act;act.sa_handler = sig_usr1;act.sa_flags = 0;sigemptyset(&act.sa_mask);sigaction(SIGUSR1, &act, NULL);/信号res = init_fb(&fb);if(res = -1)

12、err_sys(init_fb error);p = smalloc(sizeof(pid_t) * 2);if(p = NULL)err_sys(smalloc error);for(i = 0; i 3; i+)pid = fork();if(pid = 0)break;pi = pid;if(i = 0)pic_display();/图片显示函数else if(i = 1)int fd; int x = fb.w / 2;int y = fb.h / 2;char buf8;mice_event_t m;fd = open(/dev/input/mice, O_RDONLY);if(fd

13、 = -1)err_sys(open error);mice_save(fb, x, y);mice_draw(fb, x, y);while(1)n = read(fd, buf, 8);mice_parse(buf, &m);mice_restore(fb, x, y);x += m.x;y += m.y;/*确定鼠标移动范围*/if(x (fb.w-12)x = fb.w-12;if(y (fb.h-24)y = fb.h-24;mice_save(fb, x, y);mice_draw(fb, x, y);if(m.button = 1 | m.button = 2 | m.button = 3)kill(p0, SIGUSR1);else if(i = 2)client();/图片下载检测更新函数elsefor(i = 0; i 2; i+)wait(NULL);fb_destroy(&fb);return 0;2.2、三种图片更换效果int yuan(u32_t * buf32, fb_info fb_inf)/点到圆int i,j,r;for(r=0;r=160;r+)for (i=0;ifb_inf.w;i+)for(j=0;jfb_inf.h;j+) if(i-50)*(i-50)+(j-50)*(j-50)r*r)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号