Arduino基本语法

总结一下常用的arduino语法
详细内容请参考:http://arduino.cc/en/Reference/HomePage

首先Arduino机构由两个部分组成:

  • void setup()
  • void loop()
void setup()

Arduino控制器通电或复位后,即会开始执行setup() 函数中的程序,该部分只会执行一次。
通常我们会在setup() 函数中完成Arduino的初始化设置,如配置I/O口状态、配置串口、引入类库文件等

void loop()

在setup() 函数中的程序执行完后,Arduino会接着执行loop() 函数中的程序。而loop()函数是一个死循环,其中的程序会不断的重复运行。
通常我们会在loop() 函数中完成程序的主要功能,如驱动各种模块,采集数据等。

标点符号
  • ;(分号)
    Arduino每条指令(代码行)都以分号结束。甚至可以将两条指令放在同一行,只要你用一个分号把它们隔开就行了。
  • {}(大括号)
    用来区分几个不同的结构
  • //(单行注释)
    这是Arduino程序编译中忽略的一部分,用来解释程序代码的功能。
  • /* …*/(多行注释)
  • #define(定义常量)
    语法:
    #define 常量名 常量值 ,注意:#是必须的。
    例:#define ledPin 13
    //在编译时,编译器将使用数值 13 取代任何用到 ledPin 的地方。不加分号结尾
  • #include
    用于调用程序以外的库。这使得程序能够访问大量标准C库,也能访问用于arduino的库。 AVR C库(Arduino基于AVR标准语法)。 注意:#include和#define一样,不能在结尾加分号
结构控制
  • if(条件判断语句)和 ==、!=、<、>(比较运算符)
    if 语句与比较运算符一起用于检测某个条件是否达成(if后面括号内容),达成执行大括号里内容,否则跳过大括号中的语句

    if (a > 0)
    {
    digitalWrite(LEDpin, HIGH); // 执行某些语句,如LEDpin为高电平
    }
    如果a的值大于0,LEDpin为高电平,否则直接跳过大括号

  • 补充:比较运算操作符:
    x == y(x 等于 y)注意这是等于,并不是赋值,赋值是=
    x != y(x 不等于 y)
    x < y(x 小于 y)
    x > y(x 大于 y)
    x <= y(x 小于等于 y)
    x >= y(x 大于等于 y)

  • if…else(进行多次条件判断)
    例:
    if (Input < 500)
    {
    // 执行A操作
    }
    else if (Input >= 1000)
    {
    // 执行B操作
    }
    else
    {
    // 执行C操作
    }

  • for
    用于重复执行一段在花括号之内的代码。通常使用一个增量计数器计数并终止循环。for语句用于重复性的操作非常有效,通常与数组结合起来使用来操作数据、引脚
    例如
    for(int x = 2; x < 100; x = x * 1.5){//定义X为2,当X小于100的时候X重新赋值为它自己的1.5倍 println(x);//打印输出x的值 }
    生成:2,3,4,6,9,13,19,28,42,63,94
    -switch /case 语句
    将变量值和case语句中设定的值进行比较。当一个case语句中的设定值与变量值相同时,这条case语句将被执行。
    关键字break可用于退出switch语句,通常每条case语句都以break结尾。如果没有break语句,switch语句将会一直执行接下来的语句直到遇见一个break,或者直到switch语句结尾。
    语法也是先switch然后跟括号()括号内写上变量值,后面跟大括号,大括号里写上case分支
    例子

switch (var) {
case 1:  //case 1后面是冒号
  //当var等于1时,执行一些语句
  break;
case 2
  //当var等于2时,执行一些语句
  break;
default:
  //如果没有任何匹配,执行default
  //default可有可不有
}

版权声明:本文为weixin_44922452原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。