zoukankan      html  css  js  c++  java
  • arduino basic issue

    1.    string

      char Str1[15];
      char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'};
      char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', ''};
      char Str4[ ] = "arduino";
      char Str5[8] = "arduino";
      char Str6[15] = "arduino";
    字符串要有空终止符,否则它将继续向下读取字节。
    你可以像这样打包长字符串: char myString[] = “This is the first line” “ this is the second line” “ etcetera”;
    2.
    create a arrays

    创建(声明)一个数组

    下面的方法都可以用来创建(声明)数组。

      myInts [6];
      myPins [] = {2,4,8,3,6};
      mySensVals [6] = {2,4,-8,3,2};
      char message[6] = "hello";
     索引下标从0开始;
    3.interrupt or noInterrupt
    void loop()
    {
      noInterrupts();
      //重要、时间敏感的代码
      interrupts();
      //其他代码写在这里
    }
    中断可以被关闭或者打开。

    4.attachinterrupt
    a. description:两个外部中断:0(数字引脚2)和1(数字引脚3)。
        

      attachInterrupt(interrupt, function, mode)

    interrupt:中断引脚树

    function:中断发生时调用函数,必须没有返回值,没有参数。被称为中断服务程序

    mode:定义何时发生中断以下四个contstants预定有效值:

    • LOW 当引脚为低电平时,触发中断
    • CHANGE 当引脚电平发生改变时,触发中断
    • RISING 当引脚由低电平变为高电平时,触发中断
    • FALLING 当引脚由高电平变为低电平时,触发中断.

    5.tone():在一个引脚上产生特定频率的方波(50%占空比),持续时间可以设定,否则波形会一直产生直到调用no tone()函数,

     语法:tone(pin,frequency);

        tone(pin,frequency,duration)

        pin:要产生声音的引脚;

        frequency:产生声音的频率,单位hz,类型unsigned int;

        duration:声音持续的时间,单位毫秒(可选),unsigned long;

    6.pulseIn():读取一个引脚的脉冲(HIGH或LOW)

    语法:pulseIn(pin,value)

       pulseIn(pin,value,timeout)

       pin:要进行脉冲计时的引脚号;

          value:要读取的脉冲类型HIGH或LOW;

       timeout:指定脉冲的等待时间,单位为微秒,默认值是1秒;

    7.millis():开发板从当前程序运行的毫秒数

    8.constrain(x,a,b):将x约束到(a,b)范围内

    9.map(value,fromLow,fromHigh,toLow,toHigh):将一个数从一个范围映射到另一个范围

      value:需要映射的值;

      fromLow:当前范围值的下限;

      fromHigh:当前范围值的上限;

      toLow:目标范围值得下限;

      toHigh:目标范围值得上限;

    10.attach()

      语法:

      servo.attach(pin)

      servo.attach(pin,min,max)

      servo:舵机类型的变量

      pin :驱动舵机的管脚号

      min:脉冲宽度,对应于舵机的最小角度(0)

      max:脉冲宽度,对应于舵机的最大角度(180)

    11.Mstimer2()定时器中断

    MsTimer2::set(unsigned long ms, void (*f)()) ,设定定时及调用的语句
    MsTimer2::start() ,定时开始
    MsTimer2::stop() ,定时停止
        




  • 相关阅读:
    BZOJ2241 [SDOI2011]打地鼠 【模拟】
    K-D tree入门
    BZOJ1924 [Sdoi2010]所驼门王的宝藏 【建图 + tarjan】
    BZOJ1925 [Sdoi2010]地精部落 【dp】
    BZOJ1926 [Sdoi2010]粟粟的书架 【主席树 + 二分 + 前缀和】
    BZOJ2457 [BeiJing2011]双端队列 【贪心】
    二进制集合枚举子集
    BZOJ1923 [Sdoi2010]外星千足虫 【高斯消元】
    BZOJ1922 [Sdoi2010]大陆争霸 【最短路】
    HDU3157:Crazy Circuits——题解
  • 原文地址:https://www.cnblogs.com/edan/p/6533071.html
Copyright © 2011-2022 走看看