版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能小车C语言程序控制第一章:初识智能小车1.1PARTONE智能小车简介随着现代科学技术的快速发展,智能机器人已被广泛应用于人类社会的各个领域,如生产制造、物流仓储、轨道交通、工程机械、医疗手术等。
智能小车,也称轮式机器人,是一种以汽车电子为基础,涵盖智能控制、模式识别、传感技术、计算机、机械等多学科知识的科技产品。它一般由信息采集、循迹识别及避障等模块组成。从生产制造业的无人搬运车,到特种行业的灾难救援、拆弹机器人,再到军事领域的防御和侦察机器人,以及航天领域的星球表面探测器,处处可见智能小车的身影。尤其是在危险和未知的环境下,智能小车的优势更为明显。基于Arduino平台的智能小车如图所示。1.1智能小车简介1.2PARTTWO智能小车的基本结构前言行业PPT模板/hangye/智能小车能够按照预先设定的模式自动运行,不需要人为管理,可应用于科学勘探、无人驾驶等领域。智能小车能够实时显示时间、速度、里程,具有自动循迹、寻光、避障功能,可实现控制行驶速度、准确定位停车、远程传输图像等功能。一般来说,智能小车可以分为传感器部分、控制器部分、执行器部分和其他部分。1.2.1传感器部分1.金属传感器通常选用电感式金属接近开关传感器,用于检测金属物质的存在。当靠近金属物质时,开关打开;当远离金属物质时,开关关闭。在智能小车行进的过程中,可在赛道的固定位置放置铁片,利用智能小车的金属传感器来实现对赛道特定位置的检测。金属传感器实物图如图所示。1.2.1传感器部分2.霍尔传感器霍尔传感器是一种磁敏传感器,利用霍尔效应来检测磁感应信号并转换成数字量,然后传输给控制器,从而实现对智能小车行驶速度的监测。具体操作方法是在智能小车电机的旋转部位安装一个导磁性能好的磁钢,电机每旋转一圈,磁钢便接触一次霍尔传感器,即发送一个磁感应信号,霍尔传感器电路以此进行计数操作,通过一定的数据转换后得到小车的行驶速度或行驶里程。霍尔传感器实物图如图所示。1.2.1传感器部分3.红外传感器红外传感器是红外发射和红外接收一体式传感器,根据不同颜色对红外线反射程度不同(黑色反射红外线较少,白色反射红外线较多),传输不同的信号给控制器,从而控制智能小车电机的旋转方向,实现循迹功能。具体操作方法是将两个红外传感器安装在贴近地面的智能小车底盘前侧,若赛道铺设的是白底黑线,则正常行驶时,发射管发射的红外线被黑线吸收,导致接收管无法接收到红外线,传感器传输低电平给控制器;偏离轨道时,发射管发射的红外线被白色地面反射,接收管正常接收红外线,传感器传输高电平给控制器,以此来控制智能小车正常循迹行驶。红外传感器实物图如图所示。1.2.1传感器部分4.超声波避障传感器这种传感器利用超声波测距的非接触式测量方法,根据超声波在物体表面会显著反射成回波的特性,来测量智能小车与障碍物之间的距离,从而实现智能小车的避障功能。超声波避障传感器实物图如图所示。1.2.1传感器部分5.火焰传感器根据红外线对火焰的敏感性,利用特殊手段制成的红外线接收管可作为智能小车的火焰传感器。火焰传感器基于不同的火焰亮度向控制器传输高/低电平信号,控制器据此判断是否发现火源,再根据具体情况进行灭火操作。火焰传感器相当于智能小车的眼睛,可发现危险情况并进行处理。火焰传感器实物图如图所示。1.2.2
控制器部分本项目中控制器选用了Arduino单片机平台,其开发简单,便捷灵活,操作简便,能跨平台使用,软硬件开源可扩展,非常适合初学者和业余爱好者们使用。智能小车通过各类传感器来采集相关信息,将信息传送到控制器Arduino单片机处理相关数据,然后发送相关指令控制执行器进行相应动作。接下来我们来介绍一下Arduino的相关内容:1.2.2
控制器部分(1)认识ArduinoArduino意为“强壮的朋友”,是一种便捷灵活、易于上手的开放源码的电子原型平台,最初是专为没有编程基础的设计师、工艺美术人员、业余爱好者和对开发互动装置或互动式开发环境感兴趣的人而设计的。设计者的初衷是完成一个廉价好用的微控制器开发板,普通人也能利用Arduino开发板做出实用有趣的东西。随着Arduino的广泛应用,世界上的各大生产商也在生产和销售与Arduino兼容的电路板和扩展板。所以,Arduino是一个完全开源的兼有软件和硬件两方面的电子开发平台,具有互助和奉献的开源精神以及团队力量。1.2.2
控制器部分(2)Arduino特点1)开放源代码的电路图设计,程序开发接口可免费下载,也可依需求自己修改。2)可以采用USB接口供电,也可以外部供电,双向选择。3)Arduino支持ISP在线烧写,可以将新的“Bootloader”固件烧入ATmega168或ATmega328芯片。有了Bootloader之后,可以通过USB更新程序。4)可依据官方提供的Eagel格式PCB和SCH电路图,简化Arduino模组,完成独立运作的微处理控制板。也可简单地与传感器,各式各样的电子元件连接(红外线、超音波、热敏电阻、光敏电阻、伺服舵机等)。5)支持多种互动程序,如:Flash、Max/Msp、VVVV、C、Processing…….等。6)应用方面,利用Arduino可突破以往只能使用鼠标、键盘,CCD等输入装置的互动内容,可以更简单地达成单人或多人游戏互动。1.2.2
控制器部分(3)Arduino的开发过程Arduino是一个基于微控制器的开发板,通过与计算机相连来实现各种功能。Arduino的开发过程是:根据功能设置设计电路并进行连接;根据用户需求完成程序设计;将编译好的程序下载到硬件开发板上进行功能验证;不断调试以达到预期效果。1.2.2
控制器部分(4)Arduino的硬件组成Arduino有各种各样的开发板,最为常用的就是ArduinoUNO。ArduinoUNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(如图所示的数字口0~13,其中6路可作为脉冲宽度调制PWM输出),6路模拟输入(如图所示的模拟口0~5),ArduinoUNO开发板的详细功能介绍如图所示。1.2.2
控制器部分(4)Arduino的硬件组成除了最重要的I/O口外,ArduinoUNO还有一个16MHz的晶体振荡器,一个USB口,一个电源插座,一个ICSPheader和一个复位按钮。UNO可以通过两种方式供电方式,一种通过USB供电,另一种是通过外接6~12V的DC电源。除此之外,还有4个LED灯和复位按键。其中,ON是电源指示灯,通电就会亮了,L是接在数字口13上的一个LED灯,而TX、RX是串口通讯指示灯,比如在下载程序的过程中,这两个灯就会不停闪烁。处
理
器工作电压输入电压数字输入/输出接口模拟输入接口串口ATmega3285V6~20V14个6个1个I/O引脚直流电流3.3V引脚直流电流程序存储器SRAMEEPROM工作时钟40mA50mA32KB2KB1KB16MHz表2-1-1ArduinoUNO开发板的基本构成1.2.3
执行器部分1.驱动模块采用H桥电路驱动两个直流电机,作为智能小车的动力源,通过控制器发出的控制指令来指挥电机正常运转。直流电机实物图如图所示。2.舵机转向模块通过设置一定占空比的方波来控制舵机转过的角度,舵机具有力矩大、响应速度快等优点,经常被用在智能小车转向装置中。舵机转向模块实物图如图所示。1.2.4
其他部分1.三轮运动模块该模块由两个橡胶轮胎和一个万向轮组成。三轮运动模块如图1所示,橡胶轮胎实物图如图2所示,万向轮实物图如图3所示。图1三轮运动模块图2橡胶轮胎图3万向轮1.2.4
其他部分2.蓝牙模块在智能小车上安装蓝牙模块,通过蓝牙模块与智能手机相连,进行信息传输与处理控制。蓝牙模块实物图如图所示。3.电源模块设置独立的电源模块为智能小车供电。4.小车底盘在小车底盘上为上述硬件预留合适的安装位置,将以上硬件有序地安装在小车底盘上。小车底盘实物图如图所示。1.3PARTTHREE智能小车的工作原理1.3.1电机驱动与调速原理电机
电机是将电能转换成机械能的一种设备,主要用作机械设备的动力源,在电路中用“M”来表示。电机实物图如图所示。2.舵机转向模块
如图所示,一个典型的H桥电路由四个三极管和一个电机组成。要实现电机转动,需要使电路中对角线上的两个三极管导通,根据不同三极管对的导通情况,电流可以从左至右或者从右至左流过电机,从而控制电机的旋转方向。当Q2和Q3导通时,电流就从电源正极经Q3从右至左流过电机,再经Q2到达电源负极,该流向的电流将驱动电机逆时针转动。1.3.1电机驱动与调速原理3.PWM调速原理脉冲宽度调制,简称脉宽调制,是指通过控制输出的脉冲宽度来对模拟电路进行控制。PWM有频率、占空比、周期三个参数。(1)频率是指每秒钟信号在高、低电平之间切换的次数。(2)周期是指一个完整的PWM信号持续的时间。(3)占空比是指在PWM的输出信号中,高电平所占有的时间与该信号周期的比值。在PWM方法中,电源以一定频率的方波脉冲向电机提供电能,通过给方波脉冲设置不同的占空比来改变电机两端的电压大小,进而改变电机的转速。因此,直流电机正转、反转、加速、减速的智能控制,由PWM控制系统来实现。1.3.2循迹原理餐厅服务机器人、仓库搬运机器人等是沿着预设的线路行进的,即能够实现自动循迹。餐厅服务机器人如图1所示,仓库搬运机器人如图2所示。图1餐厅服务机器人图2仓库搬运机器人1.3.2循迹原理智能小车也能实现自动循迹。例如,可以利用白色KT板作为底板铺设赛道,在板上贴上黑线来标示智能小车的行进路线,使智能小车沿着黑线完成直行、转弯、交叉行进等动作。要使智能小车能够自动沿着黑线走,那么首先要知道黑线的具体位置,这就需要用到传感器,此时的传感器相当于智能小车的“眼睛”,用来识别黑线。在智能小车行驶过程中,为了让智能小车沿着预设的路线行走,需要不断调整智能小车的行进方向。可以利用不同颜色对红外线的反射能力不同,传输不同的信号给控制器,从而控制电机的旋转方向,改变小车的行进方向。1.3.2循迹原理红外传感器是发射管与接收管一体式传感器。在智能小车前方底盘贴近地面的两侧安装两个红外传感器。智能小车沿着黑线正常行驶时,两个红外传感器检测到白色地面,发射管发出的红外线经白色地面反射后被接收管接收,传感器电路产生高电平传输给控制器;当智能小车偏离轨道时,红外线被黑线吸收,接收管接收不到红外线,传感器电路产生低电平并反馈给控制器。这样,控制器就能根据收到的信号,控制智能小车沿着正确的路线行驶。红外传感器模块实物图如图所示。1.3.3避障原理1.超声避障超声波是一种振动频率高于20000Hz的声波,其方向性好、穿透能力强,且频率高、波长短,能够定向传播,在介质中传播的距离较远,因而经常被用于测量距离。基于超声波特性研制的传感器称为超声波传感器,它在工业、国防、生物医学等方面得到了广泛应用,如图所示。在智能小车行驶过程中,可以通过超声波传感器来检测智能小车前方是否有障碍物,以及智能小车与障碍物之间的距离,根据检测情况向控制器发送相应的电信号,从而达到控制智能小车避障的目的。1.3.3避障原理2.红外避障红外避障也采用红外传感器,它由一个发射管(白色)和一个接收管(黑色)组成,其工作过程是发射管发射红外线,根据接收管接收红外线的情况(接收到红外线时输出高电平,未接收到红外线时输出低电平),判断障碍物的情况。本任务中,在小车前侧两端各配备一个红外传感器,当左侧的红外传感器检测到障碍物时,指示灯亮,小车向右转;同理,右侧有障碍物时,小车向左转。该传感器的探测距离可以通过电位器调节,具有干扰小、便于装配、使用方便等特点。1.3.3避障原理2.红外避障智能小车的基本硬件结构如图所示。(1)驱动模块:采用H桥电路、PWM方法驱动双直流电机正常运转、变速等。(2)循迹模块:通过红外传感器实现智能小车自动循迹行驶。(3)避障模块:利用超声波传感器或红外传感器测量智能小车与障碍物之间的距离,据此调节智能小车的状态,实现智能小车成功避障。(4)舵机模块:通过调节方波脉冲的占空比来控制舵机转动的角度,从而控制智能小车的转向。(5)蓝牙模块:通过蓝牙模块将智能小车与手机进行连接,再与控制器相连,实现信息的实时传输、处理、存储等。(6)电源模块:设置独立的电源模块为智能小车供电。讲解完毕,谢谢观看!智能小车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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度临时科研助手聘用合同书3篇
- 2024年度亲子活动赞助商合同2篇
- 2024年度大棚蔬菜种植与农业产业扶贫服务合同3篇
- 2024年度展会现场消防设施检测与维护服务合同3篇
- 2024年度直系亲属间房产交易安全保障协议书3篇
- 2024年教师兼职工作合同范本(高校教师专用)3篇
- 2024年人才招聘与员工福利待遇合同3篇
- 2024年新能源电池原材料供应及运输管理协议3篇
- 2024年度房地产业务员招聘合同3篇
- 2024年度个人融资租赁贷款委托合同3篇
- 【鱼糜生产工艺及车间布置设计14000字(论文)】
- 行政复议法-形考作业4-国开(ZJ)-参考资料
- 分离技术发展趋势
- 儿科护理技术操作规范
- 版《公路工程机械台班费用定额》
- 2024年江苏宿迁经济技术开发区城市管理辅助人员招聘笔试参考题库附带答案详解
- 施工环境保护方案或措施
- 汽车维修实施方案
- 阳光少年体验营辅导员工作总结
- 2024销售业绩深度总结报告
- (高清版)DZT 0388-2021 矿区地下水监测规范
评论
0/150
提交评论