嵌入式实验报告二work2.
嵌入式实验报告二

嵌入式实验报告二实验时间2013/6/9 报告人一、实验目的:1.学习cygwin;2.通过上机实验,使学生验证、巩固和充实所学理论知识,加深对相关内容的理解,了解嵌入式Linux的工具链,掌握基于Linux的C程序设计。
二、实验要求:1.安装cygwin;2.学习GCC的使用和Makefile的编写。
3.编程实现文件拷贝功能。
三、问题:1.简述Gcc的常用选项并举例说明。
Gcc基本使用格式:$ gcc [ 选项] <文件名>命令行中gcc表示我们是用gcc来编译我们的源程序,[选项]表示我们要求编译器给我们输出的文件为何种类型,相当于一种约束。
常见选项:-o :将源文件经过gcc处理过的结果输出,这个结果文件可能是预处理文件、汇编文件、目标文件或者最终的可执行文件。
比如:gcc hello.c –o hello 把源文件hello.c 经gcc编译后生成可执行的文件输出为hello-E :只激活源程序的预处理,这个不生成文件,你需要把它重新定向到一个输出文件里面。
比如:gcc –E hello.c –o hello.i 把源文件hello.c经gcc预处理后的文件输出为hello. i。
-c :只激活源程序的预处理,编译,和汇编,也就是他只把程序生成obj文件。
比如:gcc –c hello.c –o hello.o 把源文件hello.c经gcc 预处理,编译,和汇编后的文件输出为hello.o。
-S :只激活源程序的预处理和编译,就是指把文件编译成为汇编代码。
比如:gcc –S hello.c –o hello.s把源文件hello.c经gcc 预处理,编译后的文件输出为hello.s。
-g :表示我们要求编译器在编译的时候提供我们以后对程序进行调试的信息。
2.简述Makefile编写规则,举例说明。
makefile 编写规则:(1)以“#”开始的行为注释(2)文件依赖关系为:target: components //表示的是依赖关系TAB rule //编写规则,TAB表示那是一个TAB键例如有如下:/* main.c */#include "mytool1.h"#include "mytool2.h"int main(int argc,char **argv){mytool1_print("hello");mytool2_print("hello");}/* mytool1.c */#include "mytool1.h"void mytool1_print(char *print_str){printf("This is mytool1 print %s\n",print_str);}/* mytool2.c */#include "mytool2.h"void mytool2_print(char *print_str){printf("This is mytool2 print %s\n",print_str);}/* mytool1.h */#ifndef _MYTOOL_1_H#define _MYTOOL_1_Hvoid mytool1_print(char *print_str);#endif/* mytool2.h */#ifndef _MYTOOL_2_H#define _MYTOOL_2_Hvoid mytool2_print(char *print_str);#endif可以这样来编译gcc -c main.cgcc -c mytool1.cgcc -c mytool2.cgcc -o main main.o mytool1.o mytool2.o这样的话我们也可以产生main程序,而且也不时很麻烦在我们执行make之前,我们要先编写一个非常重要的文件——Makefile。
嵌入式实验报告2

嵌入式系统设计实验报告1 问题描述在Linux操作系统和ARM嵌入式实验系统环境下,分析linux下的键盘、数码管驱动程序,编写一个应用程序,实现以下功能:在ARM开发板上按下数字键1、2、3、4时,对应启动模拟量开发板上的模拟量输入端AIN0、AIN1、AIN2、AIN3采样,并把模数转换的结果从终端输出和数码管显示。
数码管显示格式:通道号转换的电压值;例如:2灭灭3.251.1设计目标在ARM开发板上按下数字键1、2、3、4时,对应启动模拟量AIN0、AIN1、AIN2、AIN3采样,并把A/D转换的结果从终端输出和LED显示。
显示格式:通道号转换的电压值。
1.2设计思路根据设计目标,该问题可分为六个模块进行设计,分别为驱动程序加载、打开设备、键盘扫描、A/D转换、数码管显示,总体设计方案如图1所示。
图1 总体设计方案(1)驱动程序加载用户的应用程序以设备文件方式访问驱动程序,即Linux把设备当文件,通过文件系统对设备进行访问。
针对这个实验,需要用到ADC0809芯片,LED显示数码管,小键盘。
为此,用lsmod命令加载这三个对应的驱动程序adc0809.c、led.c和keybd.c,再以insmod的方式加入内核。
驱动程序主要是设置一些寄存器的内容来确定端口的引脚输入输出方式以及键盘的扫描部分代码,LED控制显示函数等。
(2)打开各个设备在Linux系统下,各个设备都是通过文件来进行描述的,因此用open函数打开需要用到的LED、键盘、ADC0809芯片。
并且要有对应的出错处理。
(3)键盘扫描驱动程序加载进去以后,运行可执行文件,代码就进入到了按键按下等待的代码中了。
对于用户而言,只是在键盘中按下了某个键,在计算机里,通过驱动得到按下的键值并通过read(fd_kb,&result_kb,1)函数把值赋给变量result_kb中(其中fd_kb为键盘的文件描述符)。
(4)A/D转换启动ADC0809芯片对应的通道进行数据转换,这里主要通过iotcl和read 这两个函数实现,并把转化后的结果赋给result_ad这个变量。
嵌入式实训报告2篇

嵌入式实训报告嵌入式实训报告精选2篇(一)嵌入式实训报告一、实训目的和背景嵌入式系统在现代社会中应用广泛,具有重要的实际意义。
为了进步学生的实际应用才能,我们组织了一次嵌入式实训。
通过实际操作与理论,培养学生的嵌入式系统开发才能和解决实际问题的才能。
二、实训内容1. 嵌入式系统开发环境的搭建:学生首先学习如何搭建嵌入式系统的开发环境,包括安装集成开发环境、配置编译工具链等。
2. 嵌入式系统根底知识的学习:学生学习嵌入式系统的根本概念、原理和架构,理解嵌入式系统的工作原理和开发流程。
3. 嵌入式系统软件开发:学生通过实际编程理论,掌握嵌入式系统的软件开发技术,包括编写驱动程序、应用程序等。
4. 嵌入式系统硬件开发:学生通过实际操作,学习嵌入式系统的硬件开发技术,包括电路设计、硬件接口设计等。
5. 嵌入式系统应用理论:学生完成一个实际工程,将所学的嵌入式系统开发技术应用到实际问题的解决中,加深对嵌入式系统的理解和应用才能。
三、实训过程1. 搭建嵌入式系统开发环境:学生按照实训指导书的要求,完成嵌入式系统开发环境的搭建。
2. 学习嵌入式系统根底知识:学生通过听课和自学,理解嵌入式系统的根本原理和架构。
3. 软件开发理论:学生根据实训指导书中的实例,编写嵌入式系统的软件程序。
4. 硬件开发理论:学生根据实训指导书中的实例,完成嵌入式系统的硬件设计和接口设计。
5. 应用理论:学生根据自己的兴趣和实际需求,选择一个实际工程,并使用嵌入式系统开发技术,完成工程的开发和施行。
四、实训效果通过嵌入式实训,学生深化学习了嵌入式系统的开发技术和实际应用,掌握了嵌入式系统的开发流程和方法。
同时,学生通过理论操作,进步了自己的动手才能和解决问题的才能。
实训过程中,学生不断考虑和探究,解决了许多实际问题,获得了良好的效果。
五、总结与展望嵌入式实训是一次富有意义的理论活动,通过实际操作与理论,加深了学生对嵌入式系统的理解和应用才能。
嵌入式技术及应用实验报告

嵌入式技术及应用实验报告嵌入式技术及应用实验报告一、实验目的本实验旨在通过学习嵌入式技术及应用,掌握嵌入式系统的基本原理和应用方法,培养学生的嵌入式系统设计和开发能力。
二、实验内容1. 嵌入式系统的概念和特点2. 嵌入式系统的硬件平台和软件开发环境3. 嵌入式系统的应用案例分析4. 嵌入式系统的设计和开发实践三、实验原理1. 嵌入式系统的概念和特点嵌入式系统是一种专门设计用于特定应用领域的计算机系统,它通常由硬件和软件两部分组成。
嵌入式系统的特点包括:实时性要求高、资源受限、功耗低、体积小、成本低等。
2. 嵌入式系统的硬件平台和软件开发环境嵌入式系统的硬件平台通常由处理器、存储器、输入输出设备等组成。
常用的处理器有ARM、MIPS等,存储器包括RAM、ROM、Flash等,输入输出设备有键盘、显示器、传感器等。
嵌入式系统的软件开发环境包括编译器、调试器、仿真器等工具。
3. 嵌入式系统的应用案例分析嵌入式系统广泛应用于各个领域,如智能手机、汽车电子、医疗设备、工业控制等。
以智能手机为例,它是一种集成了通信、计算、娱乐等功能的嵌入式系统,通过操作系统和应用软件实现各种功能。
4. 嵌入式系统的设计和开发实践嵌入式系统的设计和开发包括硬件设计和软件开发两个方面。
硬件设计主要包括电路设计、PCB设计等,软件开发主要包括驱动程序开发、应用程序开发等。
在设计和开发过程中,需要考虑系统的性能、可靠性、安全性等因素。
四、实验步骤1. 学习嵌入式系统的概念和特点,了解嵌入式系统的基本原理。
2. 学习嵌入式系统的硬件平台和软件开发环境,掌握常用的处理器、存储器和输入输出设备。
3. 分析嵌入式系统的应用案例,了解不同领域的嵌入式系统的设计和开发方法。
4. 进行嵌入式系统的设计和开发实践,包括硬件设计和软件开发两个方面。
5. 调试和测试嵌入式系统,验证系统的功能和性能。
6. 总结实验结果,撰写实验报告。
五、实验结果与分析通过本次实验,我对嵌入式系统的概念和特点有了更深入的了解。
嵌入式实训报告范文2篇2

嵌入式实训报告范文 (2)嵌入式实训报告范文 (2)精选2篇(一)嵌入式实训报告一、实训背景嵌入式系统是一种以具体任务为中心,集成了硬件与软件的计算机系统。
由于其体积小、功耗低、功能强大等特点,嵌入式系统被广泛应用于各个领域,如家电、汽车、医疗等。
通过参与嵌入式实训,我希望能够掌握嵌入式开发的基本原理和方法,提高自己的实践能力。
二、实训目标1.掌握嵌入式系统的基本知识和开发工具的使用;2.了解嵌入式系统的硬件架构和软件设计流程;3.能够根据需求设计并实现简单的嵌入式系统。
三、实训内容1.学习嵌入式系统基础知识:通过课堂教学和自主学习,了解了嵌入式系统的概念、特点及应用领域。
深入学习了ARM架构和C语言的基本知识,并进行了相应的实践操作。
2.学习嵌入式开发工具的使用:学习了Keil MDK和IAR Embedded Workbench等常用的嵌入式开发工具的安装和配置方法。
通过实操操作,掌握了调试、编译、下载等基本功能的使用。
3.学习嵌入式系统设计流程:了解了嵌入式软件开发的常用流程,包括需求分析、系统设计、编码实现、调试测试、系统验证等。
通过案例分析和实践操作,对嵌入式系统设计流程有了更深入的了解。
4.设计并实现简单的嵌入式系统:根据实训要求,我选择了一个简单的嵌入式系统项目,通过分析需求、设计系统架构、编写软件代码、调试测试等环节,最终成功完成了项目。
四、实训总结及收获通过参与嵌入式实训,我不仅掌握了嵌入式系统的基本知识和开发工具的使用,还锻炼了自己的实践能力。
我深刻认识到嵌入式系统开发需要全面的知识储备和较高的技术水平,同时也需要良好的分析、设计和沟通能力。
通过实训,我对嵌入式系统开发流程有了更深入的理解,对嵌入式系统的设计和开发也有了更高的认识和要求。
在未来的学习和工作中,我会继续深入学习嵌入式系统开发相关知识,并不断提高自己的实践能力。
嵌入式系统是未来的发展方向,通过不断探索和实践,我相信我能够在这个领域取得更好的成果。
嵌入式实训报告范文2篇

嵌入式实训报告范文嵌入式实训报告范文精选2篇(一)嵌入式实训报告一、实训目的和背景嵌入式实训的目的是通过设计和实现一个嵌入式系统,培养学生的嵌入式系统开发才能和团队协作才能。
本次实训的背景是为了满足社会对嵌入式系统开发人才的需求,进步学生的实际动手才能。
二、实训内容1. 硬件平台的选择和搭建:选择了一款ARM开发板作为硬件平台,并搭建了相应的开发环境。
2. 系统设计和分析:根据实训要求,我们团队设计了一个智能门锁系统,包括用户认证、门锁控制和远程监控功能。
3. 软件开发:使用C语言和嵌入式开发工具进展软件开发,实现了用户认证、门锁控制和远程监控等功能。
4. 硬件连接和调试:将开发板和相关传感器、执行器等硬件设备进展连接和调试,确保系统可以正常运行。
5. 功能测试和调优:对系统进展全面测试,发现并修复了一些问题,并对系统进展了性能优化。
三、实训心得和体会通过本次实训,我深入认识到嵌入式系统开发的复杂性和挑战性。
在实训过程中,我们团队遇到了许多问题,比方硬件和软件的兼容性、性能优化等方面。
但是通过团队的努力和合作,我们成功解决了这些问题,并完成了一个功能完善的嵌入式系统。
此外,我还学到了许多软件开发和硬件调试的技巧,进步了自己的实际动手才能。
在团队协作方面,我们团队成员之间互相配合,共同解决问题,形成了良好的协作机制。
总结起来,本次嵌入式实训让我受益匪浅,学会了许多实际应用的技能和知识,并进步了自身的综合才能。
四、实训成果展示在实训完毕后,我们团队成功完成了一个智能门锁系统,具备用户认证、门锁控制和远程监控等功能。
系统的稳定性和可靠性得到了验证,并且在实际使用中得到了积极的反应。
附图:〔展示系统界面、硬件设备连接示意图等〕五、实训改良意见尽管本次实训获得了良好的成果,但仍有一些方面需要改良。
首先,实训的时间安排可以更合理一些,以便更充分地利用时间进展理论操作。
其次,可以增加一些真实场景的案例分析和解决方案的设计,以提升学生的实际应用才能。
嵌入式实习报告(共5篇)

嵌入式实习报告(共5篇)第一篇:嵌入式实习报告一、嵌入式系统开发与应用概述在今日,嵌入式ARM 技术已经成为了一门比较热门的学科,无论是在电子类的什么领域,你都可以看到嵌入式ARM 的影子。
如果你还停留在单片机级别的学习,那么实际上你已经落下时代脚步了,ARM 嵌入式技术正以几何的倍数高速发展,它几乎渗透到了几乎你所想到的领域。
本章节就是将你领入ARM 的学习大门,开始嵌入式开发之旅。
以嵌入式计算机为技术核心的嵌入式系统是继网络技术之后,又一个IT领域新的技术发展方向。
由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业具体应用等突出特征,目前已经广泛地应用于军事国防、消费电子、信息家电、网络通信、工业控制等各个领域。
嵌入式的广泛应用可以说是无所不在。
嵌入式微处理器技术的基础是通用计算机技术。
现在许多嵌入式处理器也是从早期的PC 机的应用发展演化过来的,如早期PC 诸如TRS-80、Apple II 和所用的Z80 和6502 处理器,至今仍为低端的嵌入式应用。
在应用中,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。
嵌入式处理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM 等系列。
在早期实际的嵌入式应用中,芯片选择时往往以某一种微处理器内核为核心,在芯片内部集成必要的ROM/EPROM/Flash/EEPROM、SRAM、接口总线及总线控制逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A 等各种必要的功能和外设。
二、实习设备硬件:Embest EduKit-IV实验平台、ULINK2仿真器套件、PC机软件:μVision IDE for ARM集成开发环境、Windows 98/2000/NT/XP三、实习目的1.初步掌握液晶屏的使用及其电路设计方法;掌握S3C2410X处理器的LCD控制器的使用;掌握通过任务调用的方法把液晶显示函数添加到uC/OS-II中;通过实验掌握液晶显示文本及图形的方法与程序设计。
嵌入式实验报告

目录嵌入式系统实践实验报告1(使用GCC编译C语言程序) (1)嵌入式系统实践实验报告2(Linux 中通过minicom串口下载程序) (14)嵌入式系统实践实验报告1五、实验结果与分析(含程序、数据记录及分析和实验总结等):图5-1 实验结果截图1图5-2 实验结果截图2图5-3 实验结果截图3 图5-4 实验结果截图4图5-5 实验结果截图5 图5-6 实验结果截图6图5-7 实验结果截图7 图5-8 实验结果截图8图5-9 实验结果截图9图5-10 实验结果截图10本次实验按照实验步骤进行,完全符合实验要求,达到了实验预期。
嵌入式系统实践实验报告2二、实验环境:硬件:Mini6410嵌入式实验平台。
软件:PC机操作系统CentOS+Minicom+Arm-Linux 交叉编译环境。
图2-1 嵌入式开发板顶视图四、实验步骤:1.建立工作目录图4-1此时我们新建的hello工作目录,在home目录下,已出现,说明,我们此次操作成功(这里我们要注意,记清楚自己在创建目录时,所在的位置),如下图所示:图4-2编写程序源代码在Linux 下的文本编辑器有许多,常用的是vi 和Xwindow界面下的gedit 等,我们在开发过程中推荐使用vi。
hello.c 源代码较简单,如下:/*****hello.c*****/#include <stdio.h>int main(){printf("Hello,World!\n");return0;}我们可以是用下面的命令来编写hello.c 的源代码,进入hello 目录使用vi 命令来编辑代码(如果不会使用vi命令来编辑,我们也可以使用gedit命令来编辑hello.c文件,命令为:gedithello.c)vi命令中常用命令有: esc i :wq :q!图4-3按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc 键进入命令状态,再用命令“:wq”保存并退出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告课程名称嵌入式系统编程实践实验仪器清华同方辰源嵌入式系统实验箱实验名称实验二:利用中断实现OLED动态显示实验系别__计算机学院_专业___ __班级/学号_学生姓名___ __ ___ _ _实验日期_ 2013年9月22日成绩___________________指导教师_ _ 朱敏玲 ___实验二:利用中断实现OLED动态显示实验一、实验问题回答(1)ISR是什么?简述一下中断的作用和使用方法答:ISR是中断服务程序。
作用是通过处理器执行事先编好的某个特定的程序。
使用方法就是在main中写一个中断程序,然后在startup.s中进行注册。
(2)嵌入式系统中有哪些应用有定时性循环处理的要求?举几个例子答:在各种网络的应用中,设计的一些部件,如计数器,时钟等。
(3)定时时间间隔如何修改?答:通过改变SysTickPeriodSet(SysCtlClockGet()/100)后面的100这个参数。
(4)选作内容5-8的编程思路是什么?若做的话应该怎样实现?答:编程思路:先画直线和竖线,组成一个正方形,将各个参数填写到函数RIT128x96x4ImageDraw(buf,,,,);第6个选作:判断画的原点x,原点y,和画原点x+的长,画原点y+画宽的值要在0-128和0-96。
第7个选作:把RIT128x96x4StringDraw("hello",,,);就是把画的灰度定义为一个变量x。
最后就会出现由不同的亮度而形成的波浪。
第8个就是利用随机函数产生画的原点,随机的在屏幕上进行显示。
(5)拖影现象如何解决?计数值显示为什么没有拖影?答:在程序结束后执行清屏语句:计数显示是每次重新赋值,所以不会出现拖影。
二、实验目的和效果(效果即是否达到实验目的,达到的程度如何)(1)深入学习、理解、掌握OLED字符显示方法(2)深入学习、理解、掌握OLED图形显示方法(3)学习、理解、掌握中断使用方法实验效果图:三、实验内容和步骤(重点阐述自己的思路及遇到的问题)(一)Keil开发环境中对项目Project配置(1)建立项目1、新建一个project;2、选择CPU中的Luminary LM3S 8962;3、加载库文件;4、项目相关配置项修改。
(二)嵌入式C程序开发(1)加载必要程序本次实验提供了几个源程序rit128x96x4.h,rit128x96x4.c,startup.s。
(2)新建主函数程序,并加载到项目中新建一个文件,保存为main.c,把main.c也加载到项目中。
(3)开发主函数,完成基本显示功能头文件有以下三个#include <stdio.h>#include <LM3Sxxxx.H>#include "rit128x96x4.h"在主函数中,首先要进行CPU初始化,函数为/* Set the clocking to run from PLL at 50 MHz */SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_8MHZ);需要对显示屏进行初始化,初始化方法如下RIT128x96x4Init(1000000);一般在显示前,先对OLED显示屏进行清屏处理使用函数RIT128x96x4Clear,具体如何使用,自己查rit128x96x4.h和rit128x96x4.c代码。
以下为示例RIT128x96x4Clear();显示字符串方法使用函数RIT128x96x4StringDraw,具体如何使用,自己查rit128x96x4.h和rit128x96x4.c代码。
以下为示例While(1){ RIT128x96x4StringDraw(" hello ", 0, 6, 15);}显示图形方法使用函数RIT128x96x4ImageDraw,具体如何使用,自己查rit128x96x4.h和rit128x96x4.c代码。
以下为示例unsigned char buf[81];buf[0]=0xff;buf[80]=0xff;for(i=1; i<80; i++)buf[i] = 0x00;RIT128x96x4ImageDraw(buf, 18, 84, 162, 1);在OLED屏幕上显示学号、姓名、个性化字符、直线。
(三)利用中断,实现“0—阈值”循环显示(本例中以阈值100为例)(3—1)基本原理因为是无限循环显示,因此主函数中有个无限循环while(1),在该循环中不断进行计数值显示;为了能控制一定时间显示一次,设定一个全局变量Event,每次显示完成后置为0,每次中断发生时置为1。
在无限循环中,先判断该值是否为1,若为1,表示发生中断了,进行显示,显示完成后清为0,下次循环因为该值为0,故而不再显示,一直等到下次中断发生。
这样就可以用中断的频率控制显示的频率。
(3—2)实现步骤首先,写一个中断处理程序SysTick_Handler(你也可以自己起名字),响应系统SysTick 中断,其处理功能就是设置全局变量Event为1。
示例如下:在main.c中/* SysTick interrupt happens every XX ms */void SysTick_Handler (void) {Event = 1;}其次,注册该中断处理程序,在Startup.s中,找到中断向量表部分,如下所示:;******************************************************************** **********;; The vector table.;;******************************************************************** **********EXPORT __Vectors__VectorsDCD StackMem + Stack ; Top of StackDCD Reset_Handler ; Reset HandlerDCD NmiSR ; NMI HandlerDCD FaultISR ; Hard Fault HandlerDCD IntDefaultHandler ; MPU Fault HandlerDCD IntDefaultHandler ; SVCall HandlerDCD IntDefaultHandler ; Debug Monitor HandlerDCD 0 ; ReservedDCD IntDefaultHandler ; PendSV HandlerDCD IntDefaultHandler ; SysTick HandlerDCD IntDefaultHandler ; GPIO Port A将其中的SysTick Handler(阴影部分)默认的中断处理程序IntDefaultHandler 进行修改,改为SysTick_Handler(刚刚自己编写的中断处理程序名称)因为该中断处理函数在main.c中实现,所以在startup.s中在EXPORT __Vectors(阴影部分)前用extern声明,以表示函数的定义在别的文件中,提示编译器遇到此函数时在其他文件中寻找其定义。
修改后示例如下:(阴影部分);******************************************************************** **********;; The vector table.;;******************************************************************** **********EXTERN SysTick_HandlerEXPORT __Vectors__VectorsDCD StackMem + Stack ; Top of StackDCD Reset_Handler ; Reset HandlerDCD NmiSR ; NMI HandlerDCD FaultISR ; Hard Fault HandlerDCD IntDefaultHandler ; MPU Fault HandlerDCD IntDefaultHandler ; SVCall HandlerDCD IntDefaultHandler ; Debug Monitor HandlerDCD 0 ; ReservedDCD IntDefaultHandler ; PendSV HandlerDCD SysTick_Handler ; SysTick HandlerDCD IntDefaultHandler ; GPIO Port A然后,在主函数中开启该中断,示例如下:/* Setup and enable SysTick with interrupt (100Hz) */SysTickPeriodSet(SysCtlClockGet() / 100); //控制每次中断时间间隔,自己修改一下参数,看看有什么效果SysTickEnable();SysTickIntEnable();最后,主函数的无限循环中利用该全局变量控制计数值的循环显示unsigned char buf[10];while(1){if(Event){Event = 0;if(count>99) count = 0;else count ++;sprintf(buf, "%i", count);RIT128x96x4StringDraw(buf, 48, 40, 15);}}(四)亮线长度周期变化在OLED屏幕上显示一根亮线,根据计数值的不同显示不同长度,最终效果是一根亮线不断变长,变到最长,再从最短继续变长,周而复始……首先显示一根亮线的原理是定义一个数组,将里面每个元素设置值为0xff,表示最亮,然后进行画线操作,可以根据计数值的变化,不断对数组元素进行重新赋值,如下所示:for(i=0;i<count;i++)buf[i]=0xff;for(i=count;i<MAX;i++)buf[i]=0x00;需要注意的是:计数阈值和数组每个元素的映射关系;显示横线时不要超出屏幕。
(五)编译、连接,生成可执行程序文件(编译)(链接)(六)反复(3)--(6)步骤,直到完成如果中间出现错误,修改代码,一直到无错,生成最后程序。