zoukankan      html  css  js  c++  java
  • 第13章Arduino编程参考

    第13章Arduino编程参考

    一、最重要的两个函数

    在Arduino中, 标准的程序入口main函数在内部被定义, 只需要关心两个函数。

    void setup() {

      // put your setup code here, to run once:

    }

    说明:Arduino板起动,setup()函数被调用。初始化变量,引脚模式,使用某个库等。在Arduino板的上电和复位时只运行一次。

    void loop() {

      // put your main code here, to run repeatedly:

    }

    说明:用程序改变状态和响应事件,实时控制arduino板,效果连续循环。

    二、控制语句

    1.if语句

    if (x >1)

    {

      // 加入代码

    }

    说明:if与比较运算符结合使用,测试是否已达到某种条件。当x大于1,可以执行代码。圆括号中的语句为真,大括号中的语句就会执行。否则,程序将跳过这段代码。

    2.if...else语句

    if (x < 1)

    {

      // 执行A

    }

    else if (x >= 2)

    {

      // 执行B

    }

    else

    {

      // 执行C

    }

    说明:某个测试条件为真,关联的代码块就会执行,程序将跳到结构的下一行。如果没有测试被验证为真。缺省的else语句块,被设为默认行为,并执行。

    3.for语句

    结构:for (初始化部分; 条件判断部分; 数据递增部分) {

    //语句块

    }

    举例:for(int x = 1; x < 10; x = x +1){

        println(x);

    }

    说明:x初始化为1;条件判断,x小于10;每循环一次x加1。

    1. switch case 语句

    举例: switch (x) {

        case 1:

          //当x等于1执行

          break;//跳出

        case 2:

          //当x等于2执行

          break;

        default:

          // 如果没有匹配项,将执行此缺省段

            }

    说明:根据不同的条件,指定执行的代码,控制程序流。

    1. while循环语句

    举例:

    x= 8;

     while(x < 19){

          x++;

     }

    说明:while循环持续,直到圆括号()中的表达式变为假。

    1. do...while循环语句

    举例:

    do

    {

      delay(20);          // 保证传感器稳定

      x = readSensors();  // 读取传感器的值

    } while (x < 50);     //当x不小于50。

    说明:do...while循环,条件在循环的末尾被测试。

    1. break语句

    举例:参考4实例

    说明:中止do,跳出循环。

    1. continue语句

    举例:

    for (x = 0; x < 10; x ++)

    {

    if (x > 5 && x < 7){  

    continue;//创建值跳转

        }

        digitalWrite(Mpin, x);

        delay(8);

    }

    说明:continue语句只结束本次循环,而不是终止整个循环的执行。

    1. return语句

    举例:

    int checkSensor(){      

        if (analogRead(1) < 100) {

            return 0;

        else{

            return 1;

        }

    }

    说明:终止函数,向被调用函数返回一个值。

    10.goto语句

    举例:

    三、语法

    举例:

    1.注释:帮助理解程序的创意过程。

    形式:

    x = 0;  //单行注释。

     /* 这是多行注释

    if (Y> 0){  

    x = 3;         

    */

    2.#define 宏定义

    格式:#define Hpin 0

    在程序编译前,给常量取一个名字。

    #include 包含(包含外部的库。)

    3.算术运算符

    PinVal = analogRead(2); =赋值运算符(单个等号),等号右边的值存储到等号左边的变量中。

    加,减,乘,除运算符(关注数据类型的影响)

    y = y + 1;

    x = x - 1;

    i = j * 2;

    r = r / 2;

    %(取模)(不能用于浮点型数。)

    x = 9 % 5;   // x的值是4

    比较运算符

    if(条件) and ==, !=, <, >

    举例:

    if (x ==10){

      digitalWrite(Lpin1, HIGH);

      digitalWrite(Lpin1, LOW);

    }   

    如果x与10相等,点亮灯,否则关闭。

    布尔运算符 。 

     x > 0 && y > 0

    && (逻辑与),只有在两个操作数都为真时才返回真。

    x > 0 || y > 0

    || (逻辑或),任意一个为真时返回真。

    !x

    ! (非),当操作数为假时返回真。

    位运算

    按位与(&)两个输入位都是1,结果输出1,否则输出0。

    int a = 2;    //   00000000000000010

    int b = 3;    //   00000000000000011

    int c = a & b;  // 00000000010000010

    按位或(|)两个输入位其中一个或都是1按位或将得到1,否则为0。

    int a = 2;    //   00000000000000010

    int b = 3;    //   00000000000000011

    int c = a | b;  // 00000000010000011

    按位异或(^),当输入位都为1时它返回0

    int a = 2;    //   0000000000000010

    int b = 3;    //   0000000000000011

    int c = a ^ b;  // 0000000010000001

    按位取反(~),翻转其每一位,0变为1,1变为0。

    int a = 2;    //   00000000000000010

    int b = ~ a;//1111111111111101

    左移运算(<<)

    int a = 1;        // 0000000000000001

    int b = a << 1;  // 0000000000000010

    右移运算(>>)

    int x = 1000;

    int y = x >> 3;

    复合运算符

    自加++

    i++; //相当于 i = i + 1;

    自减--

    i--; //相当于 i = i - 1;

    复合加+=

    i+=1; //相当于 i = i + 1;

    复合减-=

    i-=1; //相当于 i = i - 1;

    复合乘*=

    i*=2; //相当于 i = i * 2;

    复合除/=

    i/=2; //相当于 i = i / 2;

    复合与&=

    i&=2; //相当于 i = i & 2;

    复合或|=

    i|=2; //相当于 i = i | 2;

    开发计算机创智课程的实践研究
  • 相关阅读:
    关于W3Cschool定义的设计模式--常用的9种设计模式的介绍
    正则得介绍和使用——表单验证
    DOM的高级操作-一种JS控制元素的视觉假象
    如何理解JS中this指向的问题
    Vulkan中的实时软阴影与硬件优化
    TensorFlow Distribution(分布式中的数据读取和训练)
    TensorFlow白皮书
    TensorFlow Data模块
    新闻标签提取的评价方法
    基于TF-IDF的新闻标签提取
  • 原文地址:https://www.cnblogs.com/ztg1/p/12554961.html
Copyright © 2011-2022 走看看