查看: 39105|回复: 72

为了方便学习,自己整理了一份Arduino学习资料

  [复制链接]
  • TA的每日心情
    奋斗
    2015-9-15 14:01
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    发表于 2013-8-12 19:30 | 显示全部楼层 |阅读模式
    Arduino
    Arduino语法手册:
    Arduino 的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。
    结构部分:
    setup()
    在Arduino中程序运行时将首先调用 setup() 函数。用于初始化变量、设置针脚的输出\输入
    类型、配置串口、引入类库文件等等。每次 Arduino 上电或重启后,setup 函数只运行一次。
    loop()
    在 setup() 函数中初始化和定义了变量,然后执行 loop() 函数。顾名思义,该函数在程序运
    行过程中不断的循环,根据一些反馈,相应改变执行情况。通过该函数动态控制 Arduino 主控板。
      
    控制结构
      if
      if„else
      for
      switch case
      while
      do„while
      break
      continue
      return
      goto


    比较运算符
      == (等于)
      != (不等于)
      < (小于)
      > (大于)
      <= (小于等于)
      >= (大于等于)


    位运算符
      & (bitwise and)
      | (bitwise or)
      ^ (bitwise xor)
      ~ (bitwise not)
      << (bitshift left)
      >> (bitshift right)




    拓展语法
      ; (分号)
      {} (花括号)
      // (单行注释)
      /**/ (多行注释)
      #define
      #include
    算数运算符
      =(赋值运算符)
      + (加)
      - (减)
      * (乘)
      / (除)
      % (模)
    布尔运算符
      && (与)
      || (或)
      ! (非)


    指针运算符
      *取消引用运算符
      &引用运算符
    复合运算符
      ++ (increment)
      -- (decrement)
      += (compound addition)
      -= (compound subtraction)
      *= (compound multiplication)
      /= (compound division)
      &= (compound bitwise and)
      |= (compound bitwise or)

    变量部分:
    1.  常量
    constants
    constants是在Arduino语言里预定义的变量。它们被用来使程序更易阅读。我们按组将常量
    分类。  
    逻辑层定义,true与false(布尔Boolean常量)
    在Arduino内有两个常量用来表示真和假:true和 false。  
    false
    在这两个常量中false更容易被定义。false被定义为0(零)。  
    true
    true通常被定义为1,这是正确的,但true具有更广泛的定义。在布尔含义(Boolean
    sense)里任何非零整数为true。所以在布尔含义内-1,2和-200都定义为ture。需要注意的是
    true和false常量,不同于HIGH,LOW,INPUT和OUTPUT,需要全部小写。  
    引脚电压定义,HIGH和LOW
    当读取(read)或写入(write)数字引脚时只有两个可能的值: HIGH 和 LOW 。  
    HIGH
    HIGH(参考引脚)的含义取决于引脚(pin)的设置,引脚定义为INPUT或OUTPUT时含义有所
    不同。当一个引脚通过pinMode被设置为INPUT,并通过digitalRead读取(read)时。如果当前
    引脚的电压大于等于3V,微控制器将会返回为HIGH。引脚也可以通过pinMode被设置为INPUT,并
    通过digitalWrite设置为HIGH。输入引脚的值将被一个内在的20K上拉电阻 控制 在HIGH上,除
    非一个外部电路将其拉低到LOW。当一个引脚通过pinMode被设置为OUTPUT,并digitalWrite设置
    为HIGH时,引脚的电压应在5V。在这种状态下,它可以 输出电流 。例如,点亮一个通过一串电
    阻接地或设置为LOW的OUTPUT属性引脚的LED。  
    LOW
    LOW的含义同样取决于引脚设置,引脚定义为INPUT或OUTPUT时含义有所不同。当一个引脚通
    过pinMode配置为INPUT,通过digitalRead设置为读取(read)时,如果当前引脚的电压小于等
    于2V,微控制器将返回为LOW。当一个引脚通过pinMode配置为OUTPUT,并通过digitalWrite设
    置为LOW时,引脚为0V。在这种状态下,它可以 倒灌 电流。例如,点亮一个通过串联电阻连接到
    +5V,或到另一个引脚配置为OUTPUT、HIGH的的LED。  
    数字引脚(Digital pins)定义,INPUT和OUTPUT
    数字引脚当作 INPUT 或 OUTPUT都可以 。用pinMode()方法使一个数字引脚从INPUT到
    OUTPUT变化。  
    引脚(Pins)配置为输入(Inputs)
    Arduino(Atmega)引脚通过pinMode()配置为 输入(INPUT) 即是将其配置在一个高阻抗的
    状态。配置为INPUT的引脚可以理解为引脚取样时对电路有极小的需求,即等效于在引脚前串联一
    个100兆欧姆(Megohms)的电阻。这使得它们非常利于读取传感器,而不是为LED供电。  
    引脚(Pins)配置为输出(Outputs)
    引脚通过pinMode()配置为 输出(OUTPUT) 即是将其配置在一个低阻抗的状态。  
    这意味着它们可以为电路提供充足的电流。Atmega引脚可以向其他设备/电路提供(提供正电
    流positive current)或倒灌(提供负电流negative current)达40毫安(mA)的电流。这使得
    它们利于给LED供电,而不是读取传感器。输出(OUTPUT)引脚被短路的接地或5V电路上会受到损
    坏甚至烧毁。Atmega引脚在为继电器或电机供电时,由于电流不足,将需要一些外接电路来实现供
    电。

    上述列出了前两页的内容,所有内容敬请下载附件内容。
    上述格式由于发帖格式所限,格式无法处理的和文档中一样,敬请见谅。
                                                                                                                                                 备注:文档内容参考极客工坊

    Arduino(ming).pdf

    343.86 KB, 下载次数: 3702

  • TA的每日心情
    奋斗
    2018-4-2 18:44
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2013-8-13 09:53 | 显示全部楼层
    来顶。
  • TA的每日心情
    奋斗
    2015-9-15 14:01
  • 签到天数: 14 天

    [LV.3]偶尔看看II

     楼主| 发表于 2013-8-13 10:23 | 显示全部楼层
    攀西爬沙 发表于 2013-8-13 09:53
    来顶。

    多谢

    该用户从未签到

    发表于 2013-8-13 15:23 | 显示全部楼层
    谢谢了

    该用户从未签到

    发表于 2013-8-13 17:10 | 显示全部楼层
    多分享一下自己的作品会更好~
  • TA的每日心情
    奋斗
    2015-9-15 14:01
  • 签到天数: 14 天

    [LV.3]偶尔看看II

     楼主| 发表于 2013-8-13 17:53 | 显示全部楼层
    szchenwei 发表于 2013-8-13 17:10
    多分享一下自己的作品会更好~

    初学者,所以整理了一份文档留自己随时翻阅用。作品的话,还得一段时间才会有,毕竟现在自己手头还没有板子
  • TA的每日心情
    奋斗
    2015-9-15 14:01
  • 签到天数: 14 天

    [LV.3]偶尔看看II

     楼主| 发表于 2013-8-13 17:54 | 显示全部楼层
    爱拼才会赢 发表于 2013-8-13 15:23
    谢谢了

    不客气
  • TA的每日心情
    开心
    2016-4-20 02:24
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    发表于 2013-8-14 15:46 | 显示全部楼层
    谢谢分享!
  • TA的每日心情
    开心
    2018-5-11 22:14
  • 签到天数: 260 天

    [LV.8]以坛为家I

    发表于 2013-8-17 15:29 来自手机 | 显示全部楼层
    很好,下来看看。来自: Android客户端

    该用户从未签到

    发表于 2013-8-17 16:13 | 显示全部楼层
    赞楼主!不过语法也不多嘛。。刚入手套件。学习走起!
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    全国机器人等级考试配件购买
    全国机器人等级考试配件购
    本人想自己教小孩机器人等级考试,需要购买机器人等级考试的配件,可是淘宝上的太
    【干货分享】mega2560原理图PCB图纸altium designer18
    【干货分享】mega2560原理
    分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
    为什么我的atmega328最小系统板反应这么迟钝?
    为什么我的atmega328最小
    是不是少了什么? 视频链接:https://b23.tv/av68105950
    [项目]microbit 控制的第一人称视角3D太空飞行游戏
    [项目]microbit 控制的第
    前言 家里有本《揭秘宇宙》,娃娃很喜欢,即使爸爸讲的都听烦了,娃娃还是不厌其烦的
    【Arduino】108种传感器模块系列实验(116)--- 2.4G24L01无线模块
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表