Arduino程序中的setup函数是一种特殊的函数,它在程序开始运行时自动执行。setup函数的作用是用来初始化程序,在setup函数中可以设置各种参数、初始化设备等。
例如,在setup函数中可以设置各种引脚的模式(输入或输出)、初始化LCD屏幕、初始化串口等。在setup函数执行完后,程序会自动执行loop函数。使用Arduino编程时,通常会在程序的开头定义setup函数。
Arduino语言和C语言很类似。整个Arduino程序可以分为两个大块:setup函数和loop函数。其中setup(初始化)函数为上电时一开始就执行的函数。类似电脑的开机自启动程序,此函数仅在上电时被执行一次,此后永不执行,除非重启。此函数内的代码一般为各种元件、模块、功能的初始化函数。
而loop(循环)函数则是初始化完成后一直执行的函数。此函数其实为一个无限循环(死循环),里面的代码将被反复执行,直到断电或者重启。大部分的代码都在这个函数内。
在初始化部分中,又有一个pinMode函数,这个函数是用来规定当前管脚功能的。
语法规则:pinMode(引脚编号,模式)
其中模式主要有三种:
OUTPUT——输出
INPUT——输入
INPUT_PULLLUP——带上拉电阻的输入。对于什么是上拉电阻,以后的推送中会介绍。
在这里是规定为输出模式以点亮LED。
若你想让管脚输出或者输入高/低电平,请务必在初始化部分加上这个函数,否则会有很多意想不到的问题!
在循环部分中,有两个函数:
第一个是digitalWrite函数,这个函数是用来规定管脚的输出的。
语法规则:digitalWrite(引脚编号,模式)
其中模式有两种:
HIGH或1——高电平,输出+5V电压
LOW或0——低电平,输出0V电压
第二个是delay函数,这个函数是用来控制延时的。
语法规则:delay(时间)
时间单位为毫秒(ms),1秒等于1000毫秒。
在延迟期间内,处理器将什么也不做直到延时结束,这其实极大地浪费了处理器的性能,故我个人不推荐直接通过delay来实现延时的目的。你可以使用其他方法来替代,具体做法将在以后的推送中介绍。
这样一来,这个程序也就十分清晰明了了:
首先,规定13号引脚,也就是LED_BUILTIN,为输出模式。
然后,让其输出高电平来点亮LED并延迟一秒来维持这种状态。
再后,让其输出低电平来熄灭LED并延迟一秒来维持这种状态。
首先去arduino官网下载安装包,根据 *** 作系统选择不同的版本,这里我用的时最新的Arduino 1.8.9 Windows Installer,下载好后安装,可以放置你想要的路径也可以默认路径,最后会生成一个名为Arduino的文件夹,里面包含可执行文件和各种其他文件。双击Arduino.exe就会启动程序主窗口。为了使Arduino的开发环境和板子通信成功,还需要安装Arduino开发板的驱动程序。Windows系统里,可以使用USB接线连接PC和Arduino开发板,并等待出现“发现新硬件向导”。通常条件下,这个步骤一般都会自 动完成安装驱动程序,但有些情况下因某些 *** 作系统文件的丢失会导致这个 *** 作失败。
如果出现了Arduino驱动程序安装失败的情况,打开设备管理器,找到显示列表里的Arduino开发板(可能在其他设备里,也可能在端口条目里,可以通过插拔USB接线来确认),这时候的Arduino开发板没有安装好驱动程序,所有它的图标旁边会有个感叹号的警告标志。右键单击这个条目,选择更新驱动程序软件,选择“浏览计算机以查找驱动程序软件”选项,然后导航到驱动程序文件夹,就在Arduino的安装路径的driver文件夹里,然后点击确认window就会安装好驱动程序。
如果还是不行的话,就有可能window系统缺少了USB Serial相关的驱动程序,这时候需要找到开发板使用的USB类型,安装对应的驱动。例如,Mega2560对应的是USB Serial CH340,去网上下载一个CH340相关驱动,安装好后即可。
Arduino IDE
如果想编写一个程序,并将其上传到开发板上,首先得学会使用Arduino IDE开发环境。
Arduino IDE在启动Arduino.exe之后就会打开,就像上图所示的一样。菜单栏下面总共有6个按键,从左到右依次是:验证程序,上传到开发板,新建程序,打开现有程序,保存程序;最右边则是串口监视器,下边还有标签按钮;把鼠标放到这些按键上时,也会显示其基本功能,如新建标签、重命名、删除等。
再往下就是程序编辑器领域了,这里用来查看和编辑程序代码的。Arduino IDE默认打开后会把当前程序命名为sketch+日期,保存时可以重新命名。打开一个程序后,IDE里会默认包含两个函数,setup()和loop(),同时也给出了相关的注释,setup()仅运行一次,所以通常我们会把一些初始化的配置代码放在这个函数里;loop()会循环执行,所以会把一些需要循环执行的主代码放在这里。
初步使用
下面会使用一个简单的Blink例子来说明怎么使用Arduino。在Arduino窗口的菜单栏中选择“文件”->“示例”->01.Basics->Blink,打开之后就会出现下图代码:
这个程序里主要存在两大段语句,分别放在setup()和loop()里,分别循环执行一次和无数次。
setup()里只有一句代码,pinMode()即是设置引脚的模式,这里就是设定了LED_BUILTIN脚为输出模式,因为在每一个Arduino开发板里都有一个可控的LED灯,mega2560上的LED灯对应的引脚就是13脚,所以这里的LED_BUILTIN脚也就是13脚。
loop()里的digitalWrite()语句是将LED_BUILTIN脚电平拉高,也就是点亮了LED灯,接着delay()函数延迟了1000毫秒,再将LED_BUILTIN脚电平拉低,熄灭LED灯,再延迟1000毫秒。当上述 *** 作循环执行时,就会出现LED灯每隔一秒点亮再隔一秒熄灭的闪烁效果了。
在编译删上传之前还需要在"工具"->“处理器”/"端口"里选择Arduino开发板对应的型号和对应到电脑上的串口(可以通过查看设备管理器串口和插拔开发板来确认)。当选择完之后就可以在IDE的右下角看到当前设置的处理器型号和串口了。
接着点击验证按钮,IDE会检测程序是否有语法错误等,如有错则提示相关错误,反之调试区出现“编译完成”字样。
最后点击上传按钮,可以看到开发板上标有TX和RX的LED灯在快速闪烁,说明程序正在写入开发板。等待调试区出现“上传成功”字样后,同时可以看到开发板上LED灯正如同设定那样闪烁,说明程序已经完整写入到开发板了。
调试区还会显示当前项目使用到的字节数和内存大小,同时也给出了最大字节数。这样调试者在使用开发板过程中可以根据自己需求来调整代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)