Arduino单片机(一).开发软件的安装及编程语言

1、工具软件

1.1. 官方集成开发环境—Arduino IDE

Arduino IDE是官方提供的一个集成开发环境,可以支持Windows、Linux以及Mac Os三种操作系统。目前的稳定版本为Arduino IDE 1.8.13,从官网中也可以获取到2.0版本及其开源的GitHub源代码。在Windows操作系统中,Arduino IDE不需要安装,在官网中下载解压后即可运行arduino.exe程序,图1为Arduino 1.8.9在win 10环境中的解压以及运行情况。
图1上图中drivers文件夹放置的是系统相关的驱动文件;examples文件夹中是Arduino的几个简单示例程序可直接烧录至对应的开发板中;hardware文件夹是底层硬件相关的程序,基于AVR平台;java和lib是IDE主体和界面相关的程序件;libraries文件中是Arduino的库文件,包含自带的库文件和用户添加的外部库文件,该文件夹在后期的学习中会经常被使用。
图2上图是arduino.exe打开后的界面,顶部是软件的导航栏,在这里可以新建项目、打开已有的项目或示例文件、下载和导入外部库文件以及打开串口监视器等功能。Arduino IDE是最基本的Arduino开发环境,在其它IDE中编写程序时同样需要它的支持。

1.2. Window程序员利器—Microsoft Visual Studio

总所周知,Microsoft Visual Studio (VS)是Windows程序员必备的开发利器,是微软的开发工具包系列产品,其包含了UML工具、代码管控工具、集成开发工具等等。有关于VS的安装在此不做过多赘述,具体细节可以参考“安装教程”。在这里主要讲述一下在VS2017中启用Arduino IDE开发环境的功能。首先打开VS运行程序,在导航栏中点击工具选项在其子菜单中选择“扩展和更新”后回弹出如图A.2.1中的页面,依次点击联机在搜索框中输入“Arduino”,最后下载相应的扩展包完成安装。在安装过程中需要手动添加arduino的安装路径,将arduino.exe程序所在的路径正确添加即可,其中的文件夹最好不要出现中文名称。
图3

1.3. 万物皆可记事本

最后一个要介绍的就是电脑中最朴素、最基本的文本编辑器—记事本。通过对计算机基础的了解,可以知道任何IDE本质上都是一款文本编辑器,我们在其中编程实际上也就是写下一串一串的字符。然后通过编译器可以将各种程序语言翻译成机器所能识别的代码,从而交付给CPU执行命令。也就是说只要拥有了编译环境,在任意一款文本编辑器中我们都可以实现对程序的编写。以Windows系统中自带的记事本为例,新建一个test.txt文件,并在其中写下如下代码:
图4
然后将其后缀名“.txt”修改为Arduino通用的文件格式“.ino”,最后双击文件“test.ino”就会出现图A.3.2中的界面。又回到了熟悉的Arduino IDE界面,其中 setup()loop() 是Arduino中最重要的两个函数。

图5

2、编程语言

Arduino语言是立足于C/C++的基础上的,是在AVR单片机的基础上将底层的操作设置进行了函数封装,因此不必深究底层器件的原理,就可以操作AVR单片机。

2.1. 基本特性

关键字: if、if else、for、switch case、while、do while、break、continue、return、goto
语法符号:;、{}、//、/**/
运算符:=、+、-、、/、%、==、!=、<=、>=、&&、||、!、++、–、+=、-=、=、/=、
数据类型:boolean、char、byte、int、unsigned int、long、unsigned long、float、double、string、array、void
数据类型转换:chat()、byte()、int()、long()、float()
常量:HIGH(高电平)、LOW(低电平)、INPUT、OUTPUT、true、false
可以看出在基本特性方面,Arduino语言的关键字和符号与C语言基本一致,因此熟悉C语言是操作硬件的基本功。

2.2. 库文件

在Arduino中有两种库:标准库以及第三方库。库其实就是一堆封装完成的函数的集合,通常一种库包含着一种事物的各种操作功能,这些功能是通用的因此在制定好的底层电路连接下,调用这些函数都能正确的执行功能。对于官方的标准库文件,在图1中的libraries文件夹下就可查看到,其中包含了表中的功能库。

库文件名功能库文件名功能
EEPROMEEPROM读写程序库SoftwareSerial模拟串口库
Ethernet以太网控制程序库Stepper步进电机控制库
LiquidCystalLCD控制程序库WireTWI/I2C总线程序库
Servo舵机控制程序库MatrixLED矩阵控制程序库
SpriteLED矩阵图形处理库

标准库实现了Arduino中常用的一些功能函数,仅通过简单的调用便可操作硬件。当这些标准库无法满足我们的需要时,第三方库的出现就解决了大部分问题。第三方库是一个众多Arduino开发者共同维护的开源项目,通过将一些硬件的操作和算法封装成模块化的函数,在Arduino中加载了对应的库后便不需要我们进行重复的造车轮工作了。下表中是一些常用的第三方库文件,对于第三方库文件的加载只需要将其解压至libraries文件夹下,最后重新启动arduino.exe即可。

库文件名功能库文件名功能
PS2KeybardPS2键盘操作库Keyboard按键程序控制库
Scoop多线程库Mouse鼠标程序控制库
DS3231DS3231时钟操作库MPU 6050mpu6050操作库
CAN BUS ShieldCAN总线操作库

2.3. 基本函数

从之前的小节可以了解到setup()和loop()是Arduino中最基本的两个函数,其中setup()函数在程序开始时用于初始化变量、设置接口模式以及启用库等操作;loop()函数使用在初始化之后内部的程序会循环的被执行,相当于while(1)。此外在Arduino中的最常用的也是最基本的函数在下表中给出,掌握了这些函数就能很快地使用Arduino系列的单片机。

函数名功能用法示例
pinMode(A, I/O)定义接口A为INPUT或OUTPUT模式pinMode(4, OUTPUT)
digitalWrite(A, H/L)将数字接口A置HIGH或LOW电平digitalWrite(4, HIGH)
digitalRead(A)读取数字接口A的电平信号digitalRead(4)
analogWrite(B, value)将模拟接口B写入模拟信号量analogWrite(6, 100)
analogRead(B)读取模拟接口B的模型信号量analogRead(A1)
delay(value)系统延时一段时间,value=1000延时1秒delay(1000)
Serial.begin(value)设置串行传输数据的速率Serial.begin(9600)
Serila.print/println(value)串行端口输出数据Serila.print(“hello”)
Serial.read()从串口读入数据Serial.read()

3、资源链接

Arduino IDE: https://www.arduino.cc/en/Main/Software
VS2017: https://visualstudio.microsoft.com/zh-hans/downloads/

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值