智能小车C语言程序控制 课件 第二章 集成开发环境介绍_第1页
智能小车C语言程序控制 课件 第二章 集成开发环境介绍_第2页
智能小车C语言程序控制 课件 第二章 集成开发环境介绍_第3页
智能小车C语言程序控制 课件 第二章 集成开发环境介绍_第4页
智能小车C语言程序控制 课件 第二章 集成开发环境介绍_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能小车C语言程序控制秦磊

梁爽

主编第二章:集成开发环境介绍2.1PARTONEArduinoIDE在安装集成开发环境(IntegratedDevelopmentEnvironment,IDE)之前,我们需要知道有关嵌入式技术的相关知识。开发人员在软件上将程序编写好,编译生成单片机要执行的程序,就叫做交叉编译。因此要完成Arduino的执行过程需要Arduino与计算机共同参与,此时Arduino单片机叫做目标单片机,计算机就是宿主计算机。Arduino开发环境能够在主流的操作系统上运行,包括Windows、Linux、MacOS三个主流操作系统平台。2.1.1Arduino开发环境搭建1.在Windows上安装ArduinoIDEArduino软件编程是在ArduinoIDE上进行的,编程所用的语言使用的是一种解释型语言,基于Arduino的语言编写的程序叫做sketch,编译完成后便可下载到硬件开发板中。在Arduino的官方网站上可以下载正版的Arduino的软件、源码、教程及文档。ArduinoIDE的官方下载地址为:http://arduino.cc/en/Main/Software。进入官方网站后,根据计算机操作系统的不同,选择相应的ArduinoIDE下载选项,并完成下载安装过程,ArduinoIDE下载界面如图所示。2.1.1Arduino开发环境搭建1.在Windows上安装ArduinoIDE完成安装后,双击Arduino应用程序即可进入IDE-sketch初始界面,如图所示。2.1.1Arduino开发环境搭建2.ArduinoIDE介绍打开ArduinoIDE,包含一个文本编辑器,用来进行程序的编写与修改,然后利用自动上传器把编写完成的程序发送到Arduino开发板。ArduinoIDE用户界面的区域功能如图所示,界面大致分为三个部分:菜单栏,包含文件菜单、编辑菜单、程序菜单、工具菜单和帮助菜单;工具栏,包含编译、上传、新建程序(sketch)、打开程序(sketch)、保存程序(sketch)和串口监视器(SerialMonitor);编辑区,程序代码编写区域;状态区,显示程序编译和上传等信息。2.1.1Arduino开发环境搭建2.ArduinoIDE介绍ArduinoIDE的开发界面如图所示,工具栏按钮功能从左至右依次为验证、上传、调试、选择开发板和串口监视器(SerialMonitor)。2.1.1Arduino开发环境搭建2.ArduinoIDE介绍接下来对菜单栏进行说明:(1)文件菜单完成程序的编写后,需要将程序进行存储,此时应用到的就是文件菜单。如图所示其功能选项主要包括:新建文件(New);打开文件(Open);保存文件(Save);文件另存为(Saveas)。2.1.1Arduino开发环境搭建2.ArduinoIDE介绍(2)编辑菜单编辑菜单是对程序文本进行编写时使用的选项,如图所示。主要有以下几种选项:撤销、恢复、剪切、复制、粘贴、选择全部和转到行/列,同时这些选项的快捷键设置为,撤销为Ctrl+Z、剪切为Ctrl+X、复制为Ctrl+C、粘贴为Ctrl+V、全选为Ctrl+A等。此外,编辑菜单还提供了其他选项,如“注释/取消注释”,Arduino编辑器中使用“//”代表注释。2.1.1Arduino开发环境搭建2.ArduinoIDE介绍(3)项目菜单项目菜单是对程序进行相应的操作,如图所示,具体有以下几个选项:验证/编译(Verify);显示项目文件夹(ShowSketchFolder),用于打开当前程序所在的文件夹;添加文件(AddFile),将其他程序复制到当前程序中,并在编辑器窗口的新选项卡中打开加载库(ImportLibrary),导入所引用的Arduino库文件。2.1.1Arduino开发环境搭建2.ArduinoIDE介绍(4)工具菜单工具(Tools)菜单是对Arduino开发板进行设置的选项集合,如图所示。主要包括:自动格式化(AutoFormat),用来整理代码格式,使程序显示更规范合理;项目存档(ArchiveSketch),将同属一个项目的文件整合到一个文件夹中,以便进行存档或共享;串口监视器(SerialMonitor),用于在Arduino与计算机进行连接时显示串口消息的内容;端口,需要手动选择操作系统中可用的串口,在连接Arduino硬件板时,串口号会进行更新,需要重新选择相连的串口号;开发板,选择与计算机连接的开发板的型号;烧录引导程序,将编写好的程序烧写到Arduino开发板上,也称为AVRISP烧写器。2.1.1Arduino开发环境搭建2.ArduinoIDE介绍(5)帮助菜单帮助(Help)菜单是ArduinoIDE中提供查找帮助的选项集合,如图所示。包括入门、环境、故障排除、参考、常见问题以及关于Arduino的一些基本知识,帮助使用者更好地了解Arduino并解决使用中出现的问题。2.1.1Arduino开发环境搭建3.常用功能介绍(1)点击文件->首选项(或快捷键“Ctrl+,”)进入软件设置界面,可在此界面设置编辑器语言、编辑器字体大小、显示行号、代码折叠等。通过设置编辑器语言可进行中英文切换,还有很多其他外文。设置完毕后点击确认,部分设置需要重启软件生效。如图所示。2.1.1Arduino开发环境搭建3.常用功能介绍(2)点击文件->示例可打开环境内置示例程序。该环境自带非常多的例程,包括基础、数字、模拟、通讯、显示等。如图所示。2.1.1Arduino开发环境搭建3.常用功能介绍(3)点击项目,会发现工具栏中的图标编译、上传也包含在其中。点击包含库,选择列表中的库文件后,编辑区自动添加相关的头文件。如图所示。2.1.1Arduino开发环境搭建3.常用功能介绍(4)点击工具->开发板,可进行不同开发板的选择,列表包含了大部分Arduino开发板,可通过开发板管理器添加开发板选项。点击端口进行端口号选择。此外工具选项还包含为开发板烧录引导程序的相关选项。如图所示。2.1.1Arduino开发环境搭建完成ArduinoIDE的安装后,我们通过编写和上传第一个程序来学习Arduino的完整开发过程。下面我们来编写第一个小程序。程序示例:LED闪光灯打开ArduinoIDE,新建一个空的Sketch,编写第一个程序控制开发板上的LED灯闪烁,修改参数调整闪烁时间。该示例是ArduinoIDE示例Basics中的Blink程序,打开位置如图所示。2.1.2用ArduinoIDE完成一个小程序Blink程序详情如图所示:2.1.2用ArduinoIDE完成一个小程序Blink程序解析:2.1.2用ArduinoIDE完成一个小程序/*Blink打开LED一秒,然后关闭一秒,重复操作*/intLED_BUILTIN=13;/*声明变量*/voidsetup()/*setup函数是当按下板子复位键或者电源键就发挥功能*/{pinMode(13,OUTPUT);}/*设置数字引脚13为输出,INPUT和OUTPUT是ArduinoIDE已经预先定义好的变量*//*loop函数会一遍又一遍的循环执行下去*/voidloop(){digitalWrite(13,HIGH);/*13引脚输出高电平,打开LED灯*/delay(1000)/*延迟1秒*/digitalWrite(13,LOW);/*13引脚输出低电平,关闭LED灯*/delay(1000);/*延迟1秒*/}/*digitalWrite是内建函数,改变数字引脚输出状态是ON还是OFF,它需要两个参数。Delay是内建的延迟函数。*/这是一个简单的实现LED灯闪烁的程序,在该程序里intLED_BUILTIN=13是用来声明变量和接口,voidsetup()函数则将LED_BUILTIN引脚的模式设为输出模式。

在voidloop()中则循环执行点亮熄灭LED灯,实现LED灯的闪烁。行业PPT模板/hangye/

小贴士上述程序大体可分为以下3个部分。(1)声明变量及接口。(2)setup()函数。在Arduino程序运行时首先要调用setup()函数,用于初始化变量、设置引脚的输入/输出模式、配置串口、引入类库文件等。每次Arduino开发板通电或重启后,setup()函数只运行一次。(3)loop()函数。在setup()函数中初始化和定义变量,然后执行loop()函数。顾名思义,该函数在程序运行过程中不断地循环执行。可通过该函数动态控制Arduino开发板。2.1.3常用的第三方软件1.虚拟面包板(VirtualBreadboard,VBB)这是一款为Arduino提供服务的仿真软件,通过单片机来实现嵌入式系统的模拟和开发环境,其中包含Arduino所有的示例电路。VBB还支持PIC系列芯片、Netduino,以及Java、VB、C++等主流编程环境。VBB软件如图所示。2.1.3常用的第三方软件2.图形化编程软件MixlyMixly是由北京师范大学创客教育实验室团队开发的图形化编程软件,它能够简化ArduinoIDE和Ardublock可视化编程插件的双窗口界面,可在Windows7和WindowsXP操作系统上运行。该软件易于操作,功能丰富。Mixly软件界面如图所示。2.2PARTTWODev-C++2.2.1Dev-C++的下载、安装与配置登录Dev-C++的官方网站进行软件下载:/projects/orwelldevcpp/。2.2.1Dev-C++的下载、安装与配置Dev-C++下载完成后会得到一个安装包(.exe程序),双击该文件即可开始安装。1)加载安装程序(需要十几秒时间)。2)开始安装。DevC++支持多国语言,包括简体中文,但是要等到安装完成以后才能设置,在安装过程中不能使用简体中文,所以这里我们选择English。2.2.1Dev-C++的下载、安装与配置3)同意DevC++的各项条款。4)选择要安装的组件,选择“Full”全部安装。2.2.1Dev-C++的下载、安装与配置5)选择安装路径,可以将DevC++安装在任意位置,但是路径中最好不要包含中文。6)等待安装。7)安装完成。2.2.1Dev-C++的下载、安装与配置开始配置DevC++。首次使用DevC++还需要简单的配置,包括设置语言、字体、和主题风格。1)第一次启动DevC++后,提示选择语言。2)选择字体和主题风格2.2.1Dev-C++的下载、安装与配置3)提示设置成功。点击“OK”按钮,进入DevC++,就可以编写代码了。2.2.2Dev-C++的下载、安装与配置Dev-C++工作界面如图所示:2.2.2Dev-C++的下载、安装与配置接着我们来介绍DEV-C++的使用。第一步,启动DEV-C++。第二步,在DEV-C++中建立新的源代码。点击“文件–>新建–>源代码”(或者按快捷键Ctrl+N)输入代码,命名后保存;新建一个源代码程序如图所示:代码编辑完成后,将代码进行保存,点击“文件–>保存”(或者按快捷键Ctrl+S)。保存源代码程序如图所示。2.2.2Dev-C++的下载、安装与配置在Dev-C++中编辑文件时,基本操作与其它文本编辑器是完全相同的。不过,除了基本的文本编辑功能之外,Dev-C++还提供了以下一些用于程序编辑的方便功能:1)点击“插入片段”按钮,可以插入一些常用的代码片段。建议用户在编辑每个源文件时,可以插入“文件头注释块”和“C++main”,以快速开始编辑工作。2)编辑区左边的行号区中显示了代码中的块状结构,可供用户看出代码中的复合语句层次。3)编辑窗口左边的“符号和类”窗格中显示了当前程序中定义的函数、全局变量、结构体和类等信息,方便用户掌握整个程序的结构。行业PPT模板/hangye/

小贴士在编辑代码过程中,需要注意以下三个方面:(1)编辑代码时要及时保存,防止断电丢失;(2)输入源程序要在英文输入状态下,以防在后续阶段出现问题;(3)可在main函数中的return语句前加入system(“pause”)语句,以便在程序运行到该位置时,能够对程序运行结果的显示延时一段时间。2.2.2Dev-C++的下载、安装与配置第三步:预处理、编译、链接程序。在完成代码的编辑工作后,需要对程序进行预处理、编译和链接的过程,来对程序中的语法、输入方式等进行检查,并将编译结果显示出来。首先要设置编译器。点击Dev-C++工具栏上的“编译器选项”下拉框,就可以看到多种编译器的配置方案并从中选择。Dev-C++默认安装的编译器是TDM-GCC4.9.2(这是一个免费开源的C/C++编译器)。选择时主要是考虑两个因素:1、根据自己所安装的Windows系统是64位还是32位而选择含有“64位”或“32位”的配置方案;2、在准备进行调试时只能选择含有“调试”的方案,只有对于大型程序才需要改用含有“性能分析”和“发行”的方案。对于大部分用户来说,使用默认的“TDM-GCC4.9.264位调试”方案即可。2.2.2Dev-C++的下载、安装与配置点击“运行–>编译”,就可以完成对程序完整的预处理、编译以及链接过程如图所示。通过编译、链接过程能够快速找到程序中的语法错误,提高对程序的调试效率。第四步:运行程序。在完成程序的编译、链接过程后,生成相应的.exe文件。选择“运行–>运行”来运行程序。如图所示。2.2.2Dev-C++的下载、安装与配置第五步:调试程序。Dev-C++提供了强大的排错与调试工具,下面简要介绍具体使用方法编译代码的过程是通过编译器对代码的语法错误进行详细的检查,但无法检查出来源代码中的逻辑错误,为了验证代码是否能够实现预期的效果,需要对代码进行进一步的调试,找出代码中存在的逻辑错误或其他问题。若要清除程序代码中的逻辑错误,就必须学会使用开发环境中的调试工具,并观察变量的数值变化,再加上自己的逻辑思考,才能找出程序中的错误所在并修改清除之。Dev-C++中没有单独的“调试”菜单,只是在“运行[R]”菜单下面有几个菜单项与调试有关:“切换断点F4”、“调试F5”、“停止运行F6”。读者需要了解这几个菜单和按钮,然后按下述步骤进行操作。2.2.2Dev-C++的下载、安装与配置第五步:调试程序。1)开始调试(Debug)点击工具栏上的“调试”按钮(快捷键F5),或点击菜单“运行–>调试F5”即可开始调试。如果当前选定的编译器配置方案中不含调试信息,Dev-C++会弹出对话框提示说没有调试信息,不能启动调试。请点击“确定”按钮,然后重新选择带有“调试”的编译器配置方案,再重新进行编译和调试。程序调试时,就开始运行(通常会弹出一个终端窗口)。运行到程序中的第一条可执行语句就暂停。这时候最好是手工调整一下Dev-C++窗口的大小和位置,以便能够同时看到Dev-C++窗口和终端窗口(以方便后续操作)。2)调试过程中的操作启动调试之后,Dev-C++窗口下半部分时会自动显示调试面板如图所示,可以用鼠标点击按钮或按快捷键执行调试操作。2.2.2Dev-C++的下载、安装与配置第五步:调试程序。3)查看变量的值开始调试后,常常要查看变量的变化情况,因此需要查看变量的值。在默认情况下,如果用鼠标悬浮在当前运行的代码中的变量上方,则会自动出现一个小悬浮窗口,显示出该变量当前的值。如果想更快速地看到变量的值,可以在编辑器中选中待查看的变量名,在Dev-C++窗口下方的调试面板中点击“添加查看”按钮,就可以在Dev-C++窗口左边的“调试”窗格中看到该变量及其当前的值。2.2.2Dev-C++的下载、安装与配置第五步:调试程序。4)设置断点(Breakpoint)如果程序比较长,那么在调试过程中使用“下一步”按钮和“单步进入”按钮进行操作时比较慢。可以在程序中设置断点,加快调试操作速度。在事先对程序的运行出错现象进行思考之后,可以推断出程序出错的可能原因在于源代码中的哪些语句。无论是在编辑状态还是在调试过程中,可以把光标移动到想要暂停执行的那一行,用鼠标点击该行左边的装订区位置中的行号(或者按F4键),该行就会变成红色,装订区的行号处显示有一个红点,表示该行已被设置为一个断点,再次操作则取消该行为断点。请在自己怀疑有问题的部分前后设置几个断点,以便进行调试。程序中可以设置多个断点。如果程序中设置了断点,那么在启动调试时会直接运行到第一个断点(而不是第一条可执行语句)暂停。这时仍然可以用“下一步”按钮和“单步进入”按钮进行操作。如果认为程序中某一部分无误,则点击“继续”按钮就会以运行到下一个断点暂停,无断点则运行到程序末尾。2.2.2Dev-C++的下载、安装与配置第五步:调试程序。5)根据调试情况排错在调试过程中,要灵活运用“下一步”按钮和“单步进入”按钮,并随时查看变量的值,还需在头脑中进行分析,从而判断程序中是否存在逻辑错误。在调试中途或最后需要按“停止执行”(F6)以结束调试。然后根据调试过程中的思考结果对程序进行修改。通常需要反复进行调试和修改才能排除程序中的错误。行业PPT模板/hangye/

小贴士常用的调试方法有:设置断点、单步执行程序以及设置watch窗口等。(1)设置断点。在需要设置断点的地方,单击其行号,即可完成断点的设置,再次单击可去除该断点。当程序运行到该断点时,程序会自动停止,开发人员可以通过观察当前相关变量的值,来检测程序中的错误之处及其原因。在printf函数处设置断点,如图所示。行业PPT模板/hangye/小贴士需要注意的是,在对程序进行调试时,不能直接点击运行,而应选择主菜单“运行–>调试”,程序才会停留在预期的断点位置,否则程序会完整运行,如图所示。行业PPT模板/hangye/小贴士(2)单步执行程序在程序调试过程中,程序会留在设置断点处,后面语句的执行可在输出栏的调试窗口下进行。在调试窗口中,可实现对程序的调试、下一步、跳过、下一条语句、单步进入、跳过函数、进入语句中各种操作,通过对单个语句的详细分析来检测程序中的错误,如图所示。行业PPT模板/hangye/小贴士(3)设置watch窗口。在对程序调试时,通常会对每条语句的执行结果进行监控,为了能更清楚地查看每个变量的动态值,可通过调试窗口的“添加查看”来实现。具体操作是,选择“添加查看”,然后输入需要监控的变量名称即可完成对该变量的watch窗口的添加。如图所示,添加了变量a的watch窗口。2.2.3Dev-C+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论