基于S3C2451的嵌入式电子相册
这些天学习了arm的相关知识,如:GPIO的使用,串口,中断,定时,ADC,RTC,LCD等操作,一连串的内容看下来后也没有去做一个具体的东西出来,所以打算将这些知识整合起来做一个项目,上网查找了项目的类别,打算做一个基于S3C2451的电子相册,下面是主要的过程:
(1)首先通过arm开发板上的按键,来控制屏幕与相册的切换,在主屏幕上显示RTC中断获取的时间,通过LCD中操作,将图片显示在屏幕,利用LCD点阵提取工具提取字模并复制好放在工程文件中,最后找好相应的位置并显示出:
(2)图片的切换,在代码中用标志位控制好图片的显示顺序,下面是编写的照片切换代码:
//按键切换功能实现
void key_show(void)
{int i = 0,ret;show_interface();while(1){ ret = KEY_Scan(0);if(ret == k3_pres) //上一张{i = i-1;if(i == -1){i=3;}}if(ret == k4_pres) //下一张{i = i+1 ;if(i == 4){i=0;}}if(ret == k4_pres && i == 0){ show_spring() ; }else if(ret == k4_pres && i == 1){ show_summer() ; }else if(ret == k4_pres && i == 2 ){ show_autome() ; }else if(ret == k4_pres && i == 3 ){ show_winter();}if(ret == k3_pres && i == 0 ){ show_spring() ; }else if(ret == k3_pres && i == 1 ){ show_summer() ; }else if(ret == k3_pres && i == 2 ){ show_autome() ; }else if(ret == k3_pres && i == 3 ){ show_winter(); } else if(ret == k1_pres){show();return;}}
}
在照片的切换中分为自动切换和按键切换,通过编程实现按键选择的控制。
(3)这样一个简单的相册便做好了,现在开始通过上位机来控制arm板:
在串口的中断服务函数中,判断来自上位机的指令包,并解析具体的命令进入相关的判断语句中执行命令,下面串口中断服务函数的代码:
在串口中断操作中要注意将每一次接收到信息的缓存区清空,不然可能执行几次指令后,缓冲区已满而没法执行相关指令,通过虚拟串口和打印串口显示出的十六进制码进行赋值操作并给予操作标识符来实现相关功能。务必不能在中断函数出现类似while(1)的死循环,否则会一直在卡在中断函数中而没法出来执行主函数,上位机中其他命令也自然不能接受。由于每个功能指令包的含义不同,所以需要自己解析并分析好再编写代码,下面是上位机中的滚动字幕:jia you!
自己基于QT5.2做的串口上位机:
下面是源码下载地址:基于S3C2451的嵌入式电子相册
基于S3C2451的嵌入式电子相册相关推荐
- 嵌入式linux电子相册论文,毕业论文--基于QT的嵌入式电子相册
毕业论文--基于QT的嵌入式电子相册 基于基于 QT的的电子相册开发及移植电子相册开发及移植 Electronic photo album application program developmen ...
- 基于IOT背景下,嵌入式电子相册的设计
基于IOT背景下,嵌入式电子相册的设计 目录 基于IOT背景下,嵌入式电子相册的设计 一.设计目的 二.整体设计 三.软件设计 四.测试视频 五.总结 前言:随着物联网技术的不断发展,物联网技术在城市 ...
- python实现图的数据存储_Neo4j推出基于Python的嵌入式图数据存储
龙源期刊网 http://www.qikan.com.cn Neo4j 推出基于 Python 的嵌入式图数据存 储 作者:
- 基于Linux的嵌入式浏览器的实现
随着信息技术与网络技术的快速发展,以及人们日常生活对网络信息的需求的不断增加.掌上电脑.上网本.手机.导航仪器.智能电视.智能家电等对嵌入式系统提出了更多更高的要求.在嵌入式系统中利用嵌入式浏览器获取 ...
- 嵌入式linux配置qt,基于qt的嵌入式Linux开发环境搭建
摘要:本文主要介绍在PC机上搭建基于QT的嵌入式开发环境,其中很多源文件都是开发板自带,需要相应资料的可以评论留下邮箱地址. 版本:交叉编译工具链:GCC 4.7.3 [gcc-linaro-arm ...
- linux 嵌入式串口通信设计目的,基于linux的嵌入式串口通信.doc
PAGE 天津电子信息职业技术学院 <嵌入式软件编程>课程报告 课程名称:基于linux的嵌入式串口通信 课程代码: 115229 姓 名: 甘琦 学 号: 48 专 业: 物联网应用技术 ...
- 基于模型的嵌入式开发流程_如何使用基于模型的测试来改善工作流程
基于模型的嵌入式开发流程 Unit testing is not enough – so let's start using model-based testing to improve our wo ...
- linux 挂iscisc存储,基于arm的嵌入式linux操作系统的移植研究-通信与信息系统专业论文.docx...
基于arm的嵌入式linux操作系统的移植研究-通信与信息系统专业论文 Classified Index: TP316.8 U.D.C: 621.38 Dissertation for the Mas ...
- 在linux下进行嵌入式系统设计,一种应用于测控系统的基于Linux的嵌入式系统的设计...
描述 1.前言 随着网络控制技术的快速发展,工业以太网得到逐步完善,在工业控制领域获得越来越广泛的应用.工业以太网使用了TCP/IP协议,便于联网,并具有高速控制网络的优点.随着32位嵌入式CPU价格 ...
最新文章
- 取名字_公司起名起名免费建筑公司取名字大全
- matlab 圆锥投影,基于MATLAB的等差分纬线多圆锥投影变换
- linux有许多sed进程,Linux进程与性能监控
- 只属于你我的共同记忆
- Linkage 使用方法总结
- 中国文学通史之各个阶段介绍
- 代码覆盖率分析 - VectorCAST/CBA
- c++ 简易人员信息管理系统
- java linkedblockingqueue_Java LinkedBlockingQueue take()用法及代码示例
- 【拓扑排序+dp】Hzy's Rabbit Candy
- 云服务器上手是多么的简单?你看了就知道了
- 布法罗博士计算机专业回国人员,2020年纽约州立大学布法罗分校博士专业设置...
- 离线数仓搭建_15_ADS层数据构建
- 灵魂拷问:如何检查Java数组中是否包含某个值 ?
- 社工要掌握哪些计算机基本操作,【作为一名专业社工哪些方面需要注意】- 环球网校...
- grpc介绍(一)——rpc、protobuf和grpc
- FabricJS gotchas/FabricJS陷阱
- 从狭义相对论到经典场论(一):起源和洛伦兹变换的导出
- iptables/netfilter
- 【读书笔记】《肖申克的救赎》——小说比电影更有蕴含自由的力量
热门文章
- ConvE:Convolutional 2D Knowledge Graph Embeddings
- 第11.27节 Python正则小结:正则静,静则明,明则虚,虚则无为而无不为也
- radare2 和 EVM
- HUST1005 渊子赛马【枚举】
- 【编程实践】一致性哈希(hash)算法实现
- 【C++】C++格式化输出/输出格式控制/输出精度控制
- linux find工作原理,Linux基础教程:find 与 xargs
- 初入编程 - HTML + CSS
- 安拆网分享:贝雷片贝雷架桁架的结构力学学问
- 比特大陆“政变”72小时