前言

ArduinoIDE官网下载

安装库的步骤

  • 参考文章

太极创客

  • 参考手册资料

Arduino开发环境搭建文档

从车Arduino微控制器 ATmega2560
数字输入输出引脚 54个(其中有15个引脚可作为PWM引脚)
模拟输入引脚 16个
Flash Memory(闪存) 256 KB ( 其中由 8 KB用于系统引导(bootloader)
SRAM(静态存储器) 8 KB
EEPROM 4 KB
内置LED引脚 13
时钟频率 16 MHz

ArduinoIDE安装

当前官网最新版本为 2.0.3 (以实际为准)

  • 安装过程无脑Next(安装路径看个人我喜欢放E盘因为我C盘是中文)

  • 安装完成打开IDE,如果需要改成中文可以在 File 里点击首选项进行改

  • 如果弹窗让你下载驱动啥的点安装即可

  • 然后开始选择你的开发板(新手一般是 Arduino uno),这里我是直接打开嵌入式应用开发的例程,板子型号选择 Genuino Mega or Mega2560,对应的 CPU 类型 ATmega2560(Mega2560),端口选择Arduino/Genuino Mega or Mega 2560 开发板的串口设备(需要连接板子)

  • 导入库(需要导入不然编译不了)

首先点击浏览选择一个文件夹来存放库,选择好以后则不要再改了

把例程里的文件夹直接复制粘贴放在路径下即可(切记不要直接把库里面的文件解压至 My_Lib下应该统一放在一个libraries的文件夹里这个文件夹名字相当于库名,然后浏览那的路径最后应该是主文件夹也就是 My_Lib)

  • 然后点击 验证 看看编译有没有错误,正常按上面步骤是没有错误的然后就可以点击 上传 下载程序到开发板里即可

Arduino基础语法

Arduino程序可以分为三个主要部分: 结构、值(变量和常量)和函数

  • 程序结构

Arduino程序不像C语言那样使用 main() 当做函数入口,但是程序中编写的setup和loop函数,都在main函数中调用了

loop的循环执行,是通过for循环实现的,且每次loop结束后,都会进行串口事件判断,也正是因为这种设计, 串口事件不能实时响应

void setup()
{
    //初始化,只执行一次
    //通常我们会在这完成Arduino的初始化设置,如配置I/O口状态,初始化串口等操作
}

/*有的Arduino程序没有loop程序这时候需要到main.cpp把loop注释掉或者新建一个loop函数但是里面什么都不放以便main函数调用否则会编译错误*/
void loop()
{
    //循环执行体,无限循环
}

变量定义跟C语言差不多一样,定义在 setup() 上方

常量

名称 描述
HIGH 引脚高电平1
LOW 引脚低电平0
INPUT 输入
OUTPUT 输出
true
false

数据类型

名称 描述 占用字节
char,unsigned char 字符型,无符号字符型 1
int,unsigned int 整型,无符号整型 2
long,unsigned long 长整型,无符号长整型 4
boolean 布尔类型(只有真/假) 1
byte 字节类型(特有的跟unsigned char功能一样) 1
float 单精度浮点型 4
string 字符串类型 /
String 对象
array 排列
word

关于String类里面有很多实用的函数,可在 WString.h里找

Arduino 常用函数

函数 参数 描述
pinMode

Arduino.串口

  • 初始化串口
//需要在setup函数里对串口初始化
//把串口波特率设置为115200
Serial.begin(115200);	
  • 打印数据
//打印有两种,区别是前者换行输出,后者不换行
int x;
Serial.println(x,BIN);	//把x的二进制打印并且换行

Serial.print(x,BIN);	//不换行
  • 其他函数
/*
判断串口是否有接收到外界发送过来的数据,返回值是int值(即等待读取的数据字节数)
*/
Serial.available()	
 
//读取接收的数据并且存到指定地址     
Serial.read()	

//终止串行通讯     
Serial.end()
  
/*
可用于从设备接收到的数据中寻找指定字符串信息。当函数找到了指定字符串信息后将会立即结束函数执行并且返回“真”。否则将会返回“假”    
参数为被查找字符串允许是String、char类型
*/    
Serial.find(target)    
      
/*
可用于从设备接收到的数据中寻找指定字符串信息。当函数找到了指定字符串信息后将会立即结束函数执行并且返回“真”。否则将会返回“假”。该函数在满足以下任一条件后都会停止函数执行
    – 读取到指定终止字符串
	– 找到了指定字符串信息
	– 达到设定时间(可使用setTimeout来设置)
参数1--被查找字符串跟find一样
参数2--终止字符串,当读取到这个时函数会返回
*/
Serial,findUntil(target,terminator)    

/*
可让开发板在所有待发数据发送完毕前,保持等待状态
在没有使用flush函数的情况下,开发板在输出信息前后时间差别微乎其微。但是在使用了flush函数以后,可以明显看到开发板输出信息占用了一定的时间
*/
Serial.flush()  
    
/*
清除接收缓存
在loop函数里循环接收数据然后清空缓存
*/    
void loop()
{
    while(Serial.)
}