linux开发板显示百叶窗图片,03Linux命令操作2

第一天

第一个小时嵌入式介绍,何为嵌入式,为什么学习嵌入式,嵌入式的发展前景,嵌入式的具体工作岗位以及薪资待遇如何。

第二个小时项目介绍

1.为什么需要项目的的沉淀,企业需要什么样的嵌入式开发人才

2.项目背景介绍

1.项目特色

现在人们所使用的晾衣架多为不能随外界环境变化而自动伸缩的传统类型,这种类型大多数都只在机械结构上面有差别,没有融入电子技术,不具备智能化功能,给人们带来了很大的不便,同时也会造成一定的经济损失。

而本次实训设计的嵌入式智能晾衣架能通过都户外晾衣环境的多方位监控、判断、进行智能的调节,可以给用户的生活带来极大的便利。

2.以播放视频的方式展示项目结果,这样能让学生更加直观的了解整个实训项目。提高学生的学习兴趣。

第三个小时项目环境的介绍与搭建

1.嵌入式项目为什么需要使用虚拟机、ubuntu,虚拟机与ubuntu的简单介绍

2.虚拟机的安装,ubuntu安装,

第四个小时与第五个小时ubuntu的使用方法

学习Linux的命名行操作命令,讲解方式可以通过类比的方式进行讲解,比如与windows进行类比,这样学生比较容易接受。讲解完布置一些关于linux命令的练习,

主要是操作文件部分的,让学生更加快速的熟悉linux的命令使用

第六个小时Linux编辑工具的使用与编译程序的方法

1.Linux vi编辑器的使用方法,讲解完布置vi编辑器相关的练习

2.Gedit编辑器的使用

3.共享文件夹的使用方法

4.程序的编译与执行方法

第二天

第一个小时与第二个小时linux c语言的回顾

C语言变量,基础语法,指针,函数的回顾

布置对应的c语言练习

第三小时与第四小时开发板的使用

主要介绍开发板的介绍与学校的的开发板做类比,有哪些优势,或新增功能

开发板的程序烧写方式:rx 的使用方法,tftp使用方法

第四小时与第五小时文件IO学习

介绍何为文件,在Linux系统里一切皆文件

文件的操作方式(与windows文件做类比,或者举个生动的例子进行介绍),打开文件,读写文件,关闭文件

学习完布置练习,实现文件的拷贝

第六个小时开发板显示颜色

开发板lcd硬件介绍

开发板lcd驱动介绍,何为驱动,驱动与文件的关系

开发板显示颜色的步骤

打开lcd驱动设备文件

自定义颜色

将颜色写入到lcd驱动设备文件

关闭lcd设备

第三天

第一小时与第二小时上一天的内容回顾以及mmap映射

映射与写入的区别,达到消除显示颜色卡顿的效果

布置练习,通过映射的方式实现特效,比如百叶窗

第三小时与第四小时开发板显示bmp图片

Bmp图片介绍

显示图片的方式

打开lcd设备驱动文件

将lcd设备进行映射

打开bmp图片

将图片拷贝到映射空间

解除映射

关闭设备

练习图片的翻转

第五与小时与第六个小时jpg图片的显示

Jpg格式介绍

Jpg动态库移植

Jpg图片显示

Linux环境下jpg程序编译

第四天

第一小时与第二小时触摸屏使用

触摸屏介绍

通过程序打印坐标值

练习:通过触摸实现图片的切换

第三小时与第四小时步进电机驱动介绍

步进电机的驱动原理

步进电机的驱动实现过程

第五第六个小时linux 串口编程讲解

串口的工作原理

串口的代码讲解

通过串口编程实现步进电机的驱动工作

第五天

第一第二小时雨滴传感器的介绍

雨滴传感器的工作原理

通过程序实现雨滴传感器的驱动工作

第三第四小时光敏电阻的使用

光敏电阻的工作原理

光敏电阻的驱动工作

第五第六小时项目整合

各传感器的协同工作

讲师

谢雨萍

3年嵌入式开发工作经验,熟悉linux环境c编程,熟悉linux常用的应用编程接口,熟悉嵌入式linux应用开发和驱动开发。上课风趣幽默,深受学生的喜爱

项目注意点:

1、嵌入式智能晾衣架由于步进电机的驱动只能在6818上面跑,注意主要用到外设有步进电机,雨滴传感器,和光敏电阻(可以通过滑动变阻器来改变他的灵敏度)

2、连接外设的时候注意,引脚一定不能接错,接错就会导致传感器不能读到正确的信息。连线方式看 连线.txt这个文档。

3、使用串口的时候,注意要清空串口缓冲区,不然可能会导致多次到没有用的数据

4、用于这个项目用到比较多的全局变量和外部变量,上课的时候需要给学生补这方面的知识,因为大部分学生很少会用外部变量这个东西。

5、用于工程用到比较多的标志位,所以你需要将什么情况下收衣服,什么情况下晾衣服弄明白(比如,下雨出太阳时要收衣服……)

操作步骤:

将源码使用arm-linux-gcc *.c -o main -lpthread 编译,然后将编译好的程序main下载到开发板,对应图片放在当前可执行文件的路径下就可以了。

注意 :每次关机都需要重新安装步进电机的驱动。

实训讲解思路:

第一步:先讲解UI显示(bmp的编解码),可以使用mmap 刷一些特效出来模拟收衣服的动作,比如 左入  和右入(难一点可以瀑布特效)

第二步:讲解触摸屏

第三步:讲解讲解串口的配置(读传感器用到的是串口来读,没有使用到对应的驱动因为只要读取传感器的DO口就可以了)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559765.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华硕T100 安装linux,【华硕T100TA3740评测】双硬盘组合 华硕T100TA挑战存储极限(全文)_华硕 T100TA3740_笔记本评测-中关村在线...

一直以来产品线的细化和完善完全是在于对于行业空白的填补而实现的,比如笔记本电脑的推出就为了弥补人们移动办公的空白,而平板电脑的推出是为了弥补智能手机和笔记本电脑市场的空白。2010年推出的iPad可谓创造了一个全新的品类——平板电脑,…

linux dev sda1 满了,/dev/sda1把磁盘几乎都满了,我该怎么办呢??

rootfxx-desktop:/etc# df文件系统 1K-块 已用 可用 已用% 挂载点/dev/sda1 7913216 7491988 22416 100% /varrun 127836 116 127720 1% /var/runvarlock 127836 0 127836 …

c语言中的set是置1嘛,c ++ - 如何检查元素是否在std :: set中?

如果您要添加std::set函数,它可能如下所示:#include #include template inlinebool contains(TInputIterator first, TInputIterator last, const T& value){return std::find(first, last, value) ! last;}template inlinebool contains(const TCon…

单片机读tf卡c语言程序,单片机读写U盘闪盘超精简C源程序

#i nclude "CH375INC.H"#i nclude/* 以下定义适用于MCS-51单片机,其它单片机参照修改 */#define UINT8 unsigned char#define UINT16 unsigned short#define UINT32 unsigned long#define UINT8X unsigned char xdata#define UINT8VX unsigned c…

用四位led数码管作显示器的篮球比赛24秒计时器求c语言代码,单片机编程控制LED七段数码管作显示的篮球赛计时计分系统...

本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。系统应具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。内容包括:显示、键盘、时钟等内容设计说明2.1需求分析2.1.1 计分系统分为“A队…

loading linux img2a,嵌入式Linux中initrd的应用--浅析ramdisk、ramfs、initrd和initramfs

看到这样的一句话很让我费解,因为似乎我理解为这样做能够提高一点嵌入式linux启动速度,我对此是非常地感兴趣自此,就开始了我的解惑之旅首先需要知道的是ramdisk和ramfshttp://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Intro…

android短信动态权限设置,Android动态权限申请

从HBuilderX1.9.4及以上版本开始,Android平台默认targetSdkVersion从21(Android5.0)调整为23(Android6.0)。Android动态权限申请机制Android6.0(API23)及以后,系统对权限的管理更加严格,放弃了以往manifest中注册所需权限,用户只要…

android 获取对话框对象,Android 基本Dialog和自定义Dialog

Android 基本Dialog和自定义DialogDialog类是对话框的基类,但你应该避免直接实例化Dialog ,可以使用子类1.AlertDialog 此对话框可以显示标题,最多三个按钮,可选择列表或自定义布局View.2.DatePickerDialog或TimePickerDialog 此对话框带有允…

android inset 标签,android – 有几个WindowInsets?

WindowInsets描述了一组窗口内容的插图.换句话说,WindowInsets有一个可用的应用程序区域(并有其他信息,如isRound).可用区域不包括StatusBar和NavigationBar的Rect.如果您只想知道StatusBar和NavigationBar的高度,请查看this.你可以得到如下的WindowInsets.以下示例使用WindowI…

android root截图软件下载,截屏软件(无需ROOT)

ScreenshotIt是一款功能简单而专一的小软体,利用它你能够非常方便的对你的Android手机进行捉图操作,并将截取的萤幕快照储存为图片。软体功能:-裁剪你的萤幕截图;-萤幕截图状态栏按键;-可以利用重力感应来截图(摇晃手机…

android toolbar源码解析,深入理解Android 5.0中的Toolbar

环境说明:Android Studio 2.0V7包版本:com.android.support:appcompat-v7:23.4.0compileSdkVersion 23buildToolsVersion "24.0.0"Toolbar 引入使用XML布局中加入:android:id"id/toolbar"android:layout_width"matc…

android 9图片报错,Android2.1加载9Patch图片运行后报错

今天遇到一个很无语的问题,竟然是9Patch图片上多加了光晕效果。因为需要自定义Button,所以请用了9Patch图片,而且图片上面还有一点光晕效果,同样也被拉伸了,在2.2的系统上面正常能跑,2.1上面就出问题&#…

鸿蒙系统发布IT直播,华为开源平台上线:鸿蒙系统、方舟编译器在列

华为近日官方宣布,方舟编译器将于8月31日正式开源。这一颠覆式的技术堪称安卓系统性能革命,将带来巨大的性能提升,官方称操作流畅度提升可高达60%。8月31日凌晨,华为开源平台网站(HUAWEI OpenSource)就迫不及待地悄然上…

html网页之间怎么切换效果,HTML教程:网页页面切换的各种效果-♚付涛纪实阁♚...

其中,n表示的就是下面的数,n取不同的值,对应有不同的效果:0、box in 1、box out 2、circle in 3、circle out 4、wipe up 5、wipe down 6、wipe right 7、wipe left 8、vertical blinds 9、horizontal blinds 10、checkerboard across 11、ch…

火车头采集html文档没内容,火车头采集器:编辑任务中常见问题

1.标题前面大量空白,应该如何采集?答:程序里有html过滤选项,你可以选中过滤这些空白字符,如果有些空白字符不在html过虑里,你可以在过滤选项里添加那些字符。2.同一个页面,很多相同内容,怎么分做为多条记录…

金字塔图表 html,Highcharts 柱形图(柱状图及条形图)之 金字塔图 演示

JS 代码:var categories [0-4, 5-9, 10-14, 15-19,20-24, 25-29, 30-34, 35-39, 40-44,45-49, 50-54, 55-59, 60-64, 65-69,70-74, 75-79, 80-84, 85-89, 90-94,95-99, 100 ];var chart Highcharts.chart(container, {chart: {type: bar},title: {text: 2015 年德…

angular html页面嵌套,使用AngularJS来实现HTML页面嵌套的方法

html不支持嵌入在html页面中的html页面。实现这一功能通过使用以下方式:使用ajax - 让一台服务器来调用获取相应的html页面,并将其设置在html控件的innerhtml。使用服务器端包含 - jsp,php等web端服务器技术可以在包括动态页面中的html页面。…

jquery属于html框架吗,jquery是前端框架吗?

jquery是前端框架吗?jquery不是前端框架,它是一个JavaScript库。框架与库之间最本质区别在于控制权:you call libs, frameworks call you(控制反转)库:库是一个封装好的特定的集合,提供给开发者使用,而且是…

html ajax 菊花,Ajax加载菊花loding效果

Ajax 异步请求的时候,一般都会利用一个动态的 gif小图片来制作一个Ajax Loading ,以便增加用户体验。这里我们使用Spin.js ,该 js 脚本压缩后5k,可以不用任何图片,任何外部的CSS样式,就可以创建一个Ajax Lo…

ios html gif 显示,显示gif时出现巨大的内存使用Swift iOS

我正在制作一个应用程序,它在UIImageView中显示gif,并从parse中加载gif。我偶然发现的问题是每当我加载一个Gif时,它会使用大约20 MB的内存,并且当我执行一个segue时,这个内存不会被分配。我从UIImageView中删除图像本…