嵌入式

合集下载

嵌入式

嵌入式
嵌入系统的定义与组成
嵌入式系统(Embedded System)是以应用为中心,以计算机技术为基础,系统的软硬件可剪裁,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
嵌入式系统主要分为两个部分:嵌入式硬件部分和嵌入式软件部分。嵌入式硬件部分主要由嵌入式处理器,嵌入式外围设备等构成;嵌入式软件部分主要由嵌入式操作系统,嵌入式开发调试环境和嵌入式应用软件构成。
嵌入式应用的多样化主要体现在嵌入式设备主控芯片和外围设备的多样化,目前,嵌入式设备的主控芯片类型包括四类:微控制器、嵌入式处理器、DSP处理器和片上系统SOC。嵌入式外围设备种类繁多,而且不同的嵌入式应用有不同的外挂设备,为了支持这些不同的外挂设备就必须有这些不同设备的板级支持包BSP (board support package).
嵌入式系统的核心部件是各种类型的嵌入式处理器,嵌入式处理器作为系统的控制中枢,通过控制总线、数据总线和地址总线与各种外部接口相连。
就目前的现状而言,嵌入式处理器可以分成四大类:嵌入式微处理器(EMU),微控制器(MCU),DSP处理器和片上系统(SOC)。
(1) 嵌入式微处理器(EMU)
1.嵌入式系统控制器
一个嵌入式系统的目标硬件平台主要分三部分:处理器核心,片内外围电路,板级外围电路.
处理器核心指的是整个芯片的核心电路即CPU的内核。芯片内的外围电路是指封装在芯片内的一些电路如定时器分频电路、串行接口电路等。板级外围电路就是与处理器芯片交互的外围电路,通常这些电路是根据处理器的特性和具体的 应用而定制的外围电路。
现在DSP处理器已得到很快的发展与应用,特别在嵌入式系统的智能化系统中。智能化算法一般都是运算量较大,特别是向量计算、指针线性寻址等较多,而这些正是DSP处理器的长处所在。

嵌入式系统的概念

嵌入式系统的概念

嵌入式系统的概念嵌入式系统是一种特殊的计算机系统,它被设计用来执行特定任务。

在此系统中,硬件和软件被协同工作,以满足特定需求。

嵌入式系统被广泛应用于各个领域,如家电、汽车、航空航天、医疗等,它们的存在对我们的日常生活产生了重要影响。

一、嵌入式系统的定义嵌入式系统是由特定硬件和软件组成的计算机系统,它被设计用来控制、监测、处理和执行特定任务。

与通用计算机系统相比,嵌入式系统通常运行在资源受限、功耗低、体积小的环境中。

嵌入式系统通常以微控制器或专用芯片为核心,通过嵌入式软件实现其功能。

二、嵌入式系统的特点1. 实时性:嵌入式系统需要能够在确定的时间内响应和完成任务。

实时性要求不同的嵌入式系统存在不同的级别,从而保证系统能够满足实际需求。

2. 硬件资源受限:嵌入式系统通常具有有限的硬件资源,如处理器速度、存储容量和外设接口等。

这使得嵌入式系统的设计需要在受限的资源条件下实现所需的功能。

3. 低功耗设计:由于嵌入式系统通常需要长时间运行,对电力消耗的要求较高。

因此,嵌入式系统的设计需要考虑功耗最优化,以延长系统的使用寿命和提高能源利用效率。

4. 实时控制:嵌入式系统经常用于对实时事件的控制和监测,如自动化生产线、交通信号灯和医疗设备等。

这些系统需要在实时环境下进行数据采集、处理和输出,以保证准确性和及时性。

三、嵌入式系统的应用领域1. 家电产品:智能家居和家电产品中广泛采用嵌入式系统,如智能电视、洗衣机、冰箱等。

嵌入式系统使得这些产品能够实现智能控制、远程监测和交互功能,提供更加便捷的生活体验。

2. 汽车领域:现代汽车中大量采用嵌入式系统,如车载导航、智能驾驶辅助系统和车联网等。

嵌入式系统在汽车领域的应用使得汽车具备了更高的安全性、舒适性和智能化。

3. 医疗设备:医疗设备中广泛应用嵌入式系统,如心电图仪、血糖仪和体温计等。

这些系统能够实时采集、处理和传输医疗数据,为医生提供准确的诊断依据和患者的健康监测。

嵌入式系统简介

嵌入式系统简介
2020/11/25
§1.1.2 嵌入式系统的应用
4.通信
电话交换机、卫星和全 球定位系统(GPS)、 移动电话等。
5.办公设备
电话系统、传真系统、 复印机、照相机和摄像 机、商用电脑、掌上电 脑等。
2020/11/25
§1.1.2 嵌入式系统的应用
6.银行和金融
自动柜员机、信用卡 系统、验钞机、点钞 机、安全系统等。
2020/11/25
由上面的定义,可以看出嵌入式系统的一些特征:
1.嵌入式系统是以嵌入式应用为目的的计算机 系统。
电子计算机是为解决海量数值计算而发明和 发展起来的。 而微型机一旦进入对象体系中后,便失去了 通用计算机的形态和功能,变成了形形色色的 自动化系统。 从而导致了现代计算机技术的两大分支:通 用计算机系统与嵌入式计算机系统。
2020/11/25
§1.1.1 嵌入式系统的概念与特点
一、嵌入式系统(Embedded System)定 义:
嵌入式系统是指用于实时控制、监视、管理 或辅助其他设备运行的设备,可以是专用或多 用途(但一般具有可编程的特性)的设备,“ 嵌入”意味着这些系统本身与所控制和管理的 系统融为一体的,是其中的一个有机组成部分 ,是各种控制系统的基本构造单元。
7.医疗诊断监视系统
心脏起搏器、理疗控 制系统、热疗机、X光 设备、电磁成像系统 等。
2020/11/25
§1.1.2 嵌入式系统的应用
8.家庭中的应用
*每个家庭使用的嵌入式处 理器约30~40个;
*一台PC机中就可能使用 了10来个嵌入式处理器;
*其他家电中,电冰箱、微 波炉、洗衣机、录像机、电 子钟、洗碗机、DVD播放机 、电视机、音响设备、通用 遥控器、电子玩具、电子宠 物等.

嵌入式系统的分类

嵌入式系统的分类

嵌入式系统的分类1、以硬件划分1.1嵌入式微控制器(Microcontrol lerUnit,也称MCU)单片机就属于嵌入式微控制器,单片机机心由ROM(或EPROM)、总线、总线逻辑、定时器(或计数器)、Watch Dog、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等组成,它属于单片式设计,体积小、功耗低、成本小、可靠性高的特点,该类型的品种、数量都是最多的,目前嵌入式系统中,MCU在70年代就已经研制出来,但由于以上的特点,直到现在,它依然占有70%的市场份额。

1.2嵌入式微处理器(MicroProcessor Unit,又称MPU)嵌入式微处理器是根据计算机的CPU演变来的,然而与计算机处理器不同的是,它要求性能高、功耗低、体积小、成本小、重量轻、可靠性高的特点,以满足嵌入式环境下的特殊需求,如ARM系列广泛应用于手机终端,PowerPC系列广泛应用于航空系统。

1.3嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,又称EDSP)DSP的算法理论在70年代就已经出现,那时还没有专门的DSP 处理器,只能用MPU的分立元件实现,然而处理的速度无法满足DSP算法要求,1982年,首枚DSP处理器诞生,它是专门用于处理信号的处理器,以信号处理的特殊要求在系统结构处理、算法上进行专门设计的处理器,它具有很高的编译效果与执行速度的功能。

80年代中期,诞生出基于CMOS工艺的DSP处理器,它的储容量和运算速度与前代相比都有飞跃性的提高、现在随着DSP处理器的不断发展,它的集成度更高、应用范围更广。

1.4嵌入片上系统(SystemOnChip,又称SOC)嵌入片上系统追求包容性最强的集成器件,它使现了软硬件无缝结合,在处理器片上直接嵌入操作系统的代码模块,因此具有很高的综合性。

使用SOC,SOC一般是专用的芯片,它具有系统简洁、体积小、功耗小、可靠性高、生产效率高的特点。

嵌入式培训内容

嵌入式培训内容

嵌入式培训内容
嵌入式培训通常包括以下内容:
1. 嵌入式系统基础知识:理解嵌入式系统的概念、特点及组成结构,了解硬件与软件之间的交互关系。

2. 硬件知识:学习嵌入式系统硬件的基础知识,包括电路设计、微控制器、芯片、传感器等硬件组件的使用和设计。

3. 软件知识:学习嵌入式系统软件的基础知识,包括编程语言、编译工具、调试工具、操作系统等关键技术。

4. 嵌入式系统开发:熟悉软硬件协同开发过程,能够进行基本的嵌入式系统开发,包括需求分析、设计、编程、调试、测试等步骤。

5. 嵌入式系统应用开发:学习如何开发基于嵌入式系统的实际应用,如电子测量、医疗设备、家用电器等。

6. 嵌入式系统安全:了解嵌入式系统的安全问题以及防范方法,学会为嵌入式系统设计安全保障措施。

7. 实践项目:进行实践性的项目开发,以巩固和深化所学知识,提高实际解决问题的能力和经验。

嵌入式系统简介

嵌入式系统简介
数字I/O LED显示
程序存储器
数据存储器
总线
嵌入式处理器
通信接口
LCD显示
时钟与复位电路
A/D和D/A
嵌入式系统的硬件体系结构
二、嵌入式系统结构
• 3.1嵌入式处理器的分类 • 1、嵌入式微控制器(EMCU) • 嵌入式微控制器又称单片机,就是将整个计算机系统
集成到一块芯片中。嵌入式微控制器一般以某一种微 处理器内核为核心,芯片内部集成ROM/EPROM、 RAM、总线、总线逻辑、定时、计数器、WatchDog、 I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM 等各种必要功能和外设。 51系列、Freescale公司的68HCXX系列、Microchip的 PIC系列等。

• •
一、嵌入式系统介绍
• 3.发展历程 • 嵌入式计算机系统与通用计算机系统目前属于计算机
技术的两大分支。
• 第一阶段:单片微型计算机(SCM)阶段,即单片机
时代。这一阶段的 嵌入式系统硬件是单片机,软 件停留在无操作系统阶段,采用汇编语言实现系统的 功能。这阶段的主要特点是:系统结构和功能相对单 一、处理效率低、存储容量也十分有限,几乎没有用 户接口。

二、嵌入式系统结构
• 2.3 应用软件 • 嵌入式系统领域的应用软件是为了解决某些特定的应
用性问题而设计出来的软件,如浏览器、播放器等。 嵌入式系统的应用软件与通用计算机软件相比,由于 嵌入式系统的资源有限,致使对应用软件有更多苛求, 要求尽量做到高效、低耗。而且嵌入式系统的应用软 件还存在着操作系统的依赖性,一般情况下,不同操 作系统之间的软件必须进行修改才能移植,甚至需要 重新编写。
• 第四阶段:以基于Internet为标志的嵌入式系统,这还

嵌入式系统概述

嵌入式系统概述

第一章嵌入式系统概述1.嵌入式系统的概念从技术的角度概念:以应用为中心、以运算机技术为基础、软件硬件可裁剪、适应应用系统对功能、靠得住性、本钱、体积、功耗严格要求的专用运算机系统。

从系统的角度概念:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一路的运算机系统。

术语嵌入式反映了这些系统一般是更大系统中的一个完整的部份,称为嵌入的系统。

嵌入的系统中能够共存多个嵌入式系统。

2.嵌入式处置器的分类①嵌入式微处置器;②嵌入式微控制器;③嵌入式DSP处置器;④嵌入式片上系统(SOC)3.嵌入式操作系统的大体概念及特点一般实时操作系统应用于实时处置系统的上位机和实时查询系统等实时性较弱的实时系统,而且提供了开发、调试、运用一致的环境。

嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发进程是通过交叉开发来完成的,即开发环境与运行环境是不一致。

嵌入式实时操作系统具有规模小(一般在几K~几十K 内)、可固化利用实时性强(在毫秒或微秒数量级上)的特点4.实时操作系统的大体概念及特点总的来讲实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时刻范围内作出响应。

它强调的是实时性、靠得住性和灵活性, 与实时应用软件相结合成为有机的整体起着核心作用, 由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。

从实时系统的应用特点来看实时操作系统能够分为两种:一般实时操作系统和嵌入式实时操作系统IEEE 的实时UNIX分委会以为实时操作系统应具有以下的几点:异步的事件响应;切换时刻和中断延迟时刻肯定;优先级中断和调度;抢占式调度;内存锁定;持续文件;同步;5.操作系统的内核有哪两种,各自的特点①非占先式内核:非占先式内核要求每一个任务自我舍弃CPU 的所有权。

非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。

异步事件仍是由中断服务来处置。

中断服务能够使一个高优先级的任务由挂起状态变成就绪状态。

嵌入式系统的典型应用

嵌入式系统的典型应用

嵌入式系统的典型应用嵌入式系统是一种能够控制、执行特定任务的计算机系统,通常用于嵌入在其他设备中,例如家电、汽车、医疗设备等。

这些系统具有高度的可靠性、实时性和可定制性,使得它们在许多领域中都有着广泛的应用。

以下将介绍一些嵌入式系统的典型应用。

1. 智能家居随着物联网的发展,智能家居系统已经成为了家居行业的一个重要分支。

智能家居系统使用嵌入式系统作为核心,通过传感器、控制器、通信模块等组件实现对家庭设备的智能控制,例如智能灯光、智能窗帘、智能门锁等。

嵌入式系统能够通过连接互联网,实现远程控制和监控,让家庭更加智能、安全、舒适。

2. 汽车电子随着汽车电子技术的不断发展,嵌入式系统在汽车中的应用越来越广泛。

汽车中的嵌入式系统可以控制发动机、制动、变速器、空调等各种设备,同时还能够实现车辆的智能化、安全化和娱乐化。

例如,嵌入式系统可以通过连接互联网,提供导航、音乐、在线娱乐等功能,让驾驶变得更加智能化和便捷。

3. 医疗设备嵌入式系统在医疗设备中的应用也越来越广泛。

例如,心脏起博器、血糖仪、血压计等医疗设备都使用了嵌入式系统。

这些系统能够实时监测患者的健康状况,提供准确的诊断和治疗方案,同时还能够将数据传输给医生或云端服务器,实现远程医疗。

4. 工业自动化嵌入式系统在工业自动化中也有着广泛的应用。

工业自动化通常需要对生产线上的设备进行控制和监测,嵌入式系统可以实现对生产线上各个设备的实时控制和数据采集,帮助企业提高生产效率和质量。

例如,自动化生产线、机器人、智能仓储等都离不开嵌入式系统的支持。

5. 安防监控嵌入式系统在安防监控中也有着重要的应用。

安防监控系统通常需要对视频信号进行处理和存储,嵌入式系统可以实现对监控设备的实时控制和视频数据的采集和存储。

同时,嵌入式系统还能够实现对监控设备的智能控制和远程监控,让安防监控更加智能化和便捷。

嵌入式系统在现代社会中有着广泛的应用,涉及到生活、医疗、工业、安防等多个领域。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上海理工大学研究生试题20 14 /20 15 学年第一学期课程名称:嵌入式系统教师签章:年月日教研室主任审查意见:签章:年月日1.试题原稿请于考试前2周送研究生部。

2.编号栏由研究生部填写。

2014/2014 学年第 1学期考试课程嵌入式系统学号姓名得分一:固件及软件描述题(20分)1.1、阅读STM32启动代码,阅读STM(10X)固件标准,描述其主要观点。

1.2、描述MDK软件使用基本步骤。

二:程序设计题(无操作系统)(20分)2.1、根据固件建立工程,以流水灯为例说明固件建立工程和程序设计的方法(需结合硬件叙述)2.2、以按键中断实现灯的闪烁为例,描述设计其实现原理和主要程序设计含流程图。

(结合硬件)三.操作系统题(60分)3.1、阐述裸μc/osII操作系统的基本原理(10分)。

3.2、如何在实现裸μc/osII系统的移植STM32(编译系统选MDK)(20分)。

3.3、在μc/osII系统中以流水灯闪烁为例阐述程序设计的基本方法(需结合硬件)(10分)。

3.4、在μc/osII系统中,中断实现的基本原理,并以按键中断实现灯的闪烁为例,阐述程序设计的基本方法。

(需结合硬件)(20分)*注:考题全部写在框内,不要超出边界。

内容一律用黑色墨水书写或计算机打印,以便复印。

一:固件及软件描述题(20分)1.1、阅读STM32启动代码,阅读STM(10X)固件标准,描述其主要观点。

答:打开keil4新建一个工程,选择stm32f107vc芯片(这是我本次实验所用的板子上的芯片型号),启动代码就会自动添加进来,文件名是startup_stm32f10x_cl.s,双击就可以看到启动代码,是用汇编语言编写的底层文件。

从网上下载跟我这块板子配套的资料可以找到固件库,原理图等各种各样的资料,对固件标准来说有寄存器版本和库函数版本,像我这样的初学者直接去翻看是很难理解的,而且很容易厌倦,直到我在寄存器版本的例程中修改程序的时候,用库函数版本的文件替换,发现根本行不通,编译产生一大堆的错误,这时候我才耐下心来去细细观看其中的一些东西,比如例程中是stm32f103的程序,而我要在我的板子上跑就要修改其GPIO引脚,我用库函数去修改就产生一大堆的错误,然后不得不去看寄存器的标准,然后修改。

作为一个初学者,给我的感觉是寄存器比较难以理解,而且用起来比较难,库函数相当方便,上手也简单,但是我觉得寄存器是非常非常基础的东西,能够帮助我们更好的理解单片机,理解程序运行的机制,总之,库函数学起来相当简单,而且功能强大,但是并不是万能的,有些时候实现一些功能还是得靠寄存器,所以学好寄存器编程是必要的。

1.2、描述MDK软件使用基本步骤。

答:首先我从下载下来的资料中找到keil4,然后安装,然后以管理员身份运行程序,打开之后用软件生产序列号激活一下,之后将资料包中的Jlink驱动安装一下,因为我要用Jlink连接板子调试。

然后新建工程,project--new uvision project,新建一个文件夹,取任意工程名字,然后保存,之后再文件夹中新建USER和SYSTEM文件夹,之后将其他标标准工程文件中的SYSTEM文件夹拷贝过来,然后选择芯片,填出对话框点击是,加入启动代码,然后右键target1--manage components,出现下图对话框,在groups中添加组,USER, SYSTEM等,然后将SYSTEM中的源码.c文件都添加进STSTEM中来,然后单击target options,出现以下对话框,然后C/C++选项中include paths点击将USER和SYSTEM添加进路径,有时还有一些其他的将.c文件添加进组中的文件夹也要加进路径中,这样才能保证其中的.h文件在build的时候可以正常加进来,然后选中debug选项,选择合适的调试方式,我用的是Jlink,之后点击最右边的选项Utilities,同样选择Jlink。

这样基本上我们就可以开始设计新的程序了。

然后就是设计程序,添加和修改所用到的引脚,编译,如有错误就按照提示修改,直到build成功,就可以点击download烧进板子中,然后不断的调试,直到达到我们满意的功能为止。

二:程序设计题(无操作系统)(20分)2.1、根据固件建立工程,以流水灯为例说明固件建立工程和程序设计的方法(需结合硬件叙述)答:首先需要看一下灯的原理图,可以看出有四个灯PC0,PC6,PC7,PC8,然后就清楚了需要用到的引脚了。

主要代码如下。

int main(void){System_Setup(); //系统初始化GPIO_SetBits(GPIOC , GPIO_Pin_0);GPIO_SetBits(GPIOC , GPIO_Pin_6);GPIO_SetBits(GPIOC , GPIO_Pin_7);GPIO_SetBits(GPIOC , GPIO_Pin_8);//熄灭所有的LED灯while (1){GPIO_SetBits(GPIOC , GPIO_Pin_6);GPIO_ResetBits(GPIOC , GPIO_Pin_7);//熄灭PC6,点亮PC7Delay(0xfffff);Delay(0xfffff);Delay(0xfffff);Delay(0xfffff);//延时GPIO_SetBits(GPIOC , GPIO_Pin_7);GPIO_ResetBits(GPIOC , GPIO_Pin_0);//熄灭PC7,点亮PC0Delay(0xfffff);Delay(0xfffff);Delay(0xfffff);Delay(0xfffff);GPIO_SetBits(GPIOC , GPIO_Pin_0);GPIO_ResetBits(GPIOC , GPIO_Pin_8);//熄灭PC0,点亮PC8Delay(0xfffff);Delay(0xfffff);Delay(0xfffff);Delay(0xfffff);GPIO_SetBits(GPIOC , GPIO_Pin_8);GPIO_ResetBits(GPIOC , GPIO_Pin_6);//熄灭PC8,点亮PC6Delay(0xfffff);Delay(0xfffff);Delay(0xfffff);Delay(0xfffff);}}这样就实现了流水灯,GPIO引脚配置程序如下,这些都是库函数固定的格式,没什么好说的。

GPIO_SetBits和GPIO_ResetBits都是stm32f10x_gpio.c中已经定义好了的库函数,可以直接用。

但是代码非常冗长,由于是第一次写程序,经验不足,不知道在.h文件中定义简单的LEDx,用LEDx=0或1来表示亮灭。

而程序设计的一般方法就是需要用到的一些功能函数比如延时函数等,先在外部定义好然后在主程序中声明一下,程序开头先声明包含哪些.h文件和用到的自定义函数,然后定义所用到的变量,之后进入main函数,开始就是一些系统初始化,时钟初始化,IO口初始化之类的库函数,然后就是上面提到的设计代码,实现主要功能。

而所用到的引脚要定义一下就可以了。

下图所示就是程序烧进板子中跑的图。

(见电子版)2.2、以按键中断实现灯的闪烁为例,描述设计其实现原理和主要程序设计含流程图。

(结合硬件)答:按键中断首先要用到按键,可以看一下原理图可以看到有PC10,PC11,PC12和PD3四个按键,我们不妨使用其中的三个PC10,PC11和PC12。

板子上四个灯和四个按键是平行的而且挨得很近,因此我就喜欢将其按照从左到右一一对应的顺序进行了如下定义。

从左到右的四个灯分别是PC7,PC0,PC8,PC6,按键对应关系是PC12,PC11,PD3,PC10,由于不使用PD3,因此将灯用如下的程序定义顺序。

#define LED0 PCout(7)// PC7#define LED1 PCout(0)// PC0#define LED3 PCout(6)// PC6而按键的顺序用如下的程序定义。

#define KEY0 PCin(12) //PC12#define KEY1 PCin(11) //PC11#define KEY3 PCin(10) //PC10由于都是接地的,因此按键配置模式都选择下拉输入。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;GPIO_Init(GPIOC, &GPIO_InitStructure);我这里设计的程序实现的主要功能是按键中断KEY0控制LED0的亮灭,KEY1控制LED1的亮灭,按下KEY3则三个灯同时闪烁,再按一下就不闪,保持状态,而在灯闪烁的同时按下KEY1,KEY0照样可以控制两灯的亮灭。

因为在这里我将这三个中断键设置了相同的优先级。

流程图如下。

其中,t值是由KEY3的按下而翻转的,KEY0和KEY1在中断服务程序中直接定义的就是控制LED0和LED1的亮灭。

主要代码如下。

int main(void){SystemInit();delay_init(72);NVIC_Configuration();uart_init(9600);LED_Init();EXTIX_Init();while(1){printf("OK\n");switch(t){case 1:LED0=!LED0;LED1=!LED1;LED3=!LED3;delay_ms(100);break;default:break;}delay_ms(200);}}中断线及中断初始化配置见附件,中断服务程序如下。

void EXTI15_10_IRQHandler(void){delay_ms(10);if(EXTI_GetITStatus(EXTI_Line10) != RESET){t=!t;}else if (EXTI_GetITStatus(EXTI_Line11) != RESET){LED1=!LED1;}else if (EXTI_GetITStatus(EXTI_Line12) != RESET){LED0=!LED0;}EXTI_ClearITPendingBit(EXTI_Line10);EXTI_ClearITPendingBit(EXTI_Line11);EXTI_ClearITPendingBit(EXTI_Line12);}程序在板子跑的图片如下(见电子版),第二张照片不是很清楚,因为如果开闪光灯的话灯的闪烁就看不出来了。

相关文档
最新文档