[arduino]-1-Basics代码解读

arduino IDE 自带示例中的Basics系列,

可以说是

向一个拥有C系家族编程语言基础的人

解释清楚了它自己的基本操作

BareMinimum(基本文件结构):

void setup() {
  // put your setup code here, to run once:
  // 这里放的setup代码只会运行一次
}

void loop() {
  // put your main code here, to run repeatedly:
  // 这里放的主要代码会在setup之后不停循环执行
}

Start(有修改):

// the setup routine runs once when you press reset:
//setup会在你按下reset之后首先执行
void setup() {
  // initialize the digital pin as an output.
  // 将数字端口初始化为输出模式
  pinMode(0, OUTPUT); //LED on Model B
  pinMode(1, OUTPUT); //LED on Model A  or Pro
}

// the loop routine runs over and over again forever:
//loop会一遍又一遍的永远执行下去
void loop() {
  digitalWrite(0, HIGH);   // turn the LED on (HIGH is the voltage level)
                                    // 打开LED(HIGH代表电压高低)
  digitalWrite(1, HIGH);
  delay(1000);               // wait for a second
  digitalWrite(0, LOW);    // turn the LED off by making the voltage LOW
                                    // 将电压降低来关闭LED
  digitalWrite(1, LOW);
  delay(1000);               // wait for a second
}

Blink:

/*
  Blink
  闪烁

  Turns an LED on for one second, then off for one second, repeatedly.
  点亮LED持续1秒钟,然后熄灭LED一秒钟,一次循环。

  Most Arduinos have an on-board LED you can control.
  许多arduino都有一个板载LED可供使用

  On the UNO, MEGA and ZERO it is attached to digital pin 13, on MKR1000 on pin 6.
  在UNO,MEGA和ZERO上它与数字端口13相连。//后略

  LED_BUILTIN is set to the correct LED pin independent of which board is used.
  LED_BUILTIN被设定为各种主板相对应的LED而与型号无关。

  If you want to know what pin the on-board LED is connected to on your Arduino  model, check the Technical Specs of your board at:
  如果你想知道你的这种arduino上到底哪个端口连接着板载LED,那么查看详细的说明可以到:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  // 将LED_BUILTIN端口初始化为输出模式。
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

以上的代码皆可直接下载到UNO上运行

关于具体代码的理解,

请各位善用自己的英语知识

与互联网工具

本节关键代码词汇含义对照:

setup ≈ set up 意思非常之多,初始化,安排,安装,构建,都可以

loop 循环

pin 端口/针脚,1pin就是一根线,所以电脑里面的电源插口,4P,6P,24P就是这样来的

built in 内置/板载

digital 数字,关于模拟和数字的区别,你用着用着就明白了

delay 等待/延迟

原文地址:https://www.cnblogs.com/Ryu-janeway/p/9955717.html

时间: 2024-10-31 18:52:51

[arduino]-1-Basics代码解读的相关文章

MWC四轴飞行器代码解读

MWC v2.2 代码解读annexCode() 红色是一些暂时没去顾及的部分,与我现在关心的地方并无太大关系. 函数对rcDate进行处理(去除死区,根据油门曲线,roll/pitch曲线,油门值,动态PID调整参数,在无头模式对于rcdata进行优化),生成rccommand值用于姿态控制.记录最大循环时间,最小循环时间,解锁时间,最大气压值.用LED表示一些传感器运行的状态.若定义了低压报警则进行电压测量. rccommand[油门]在0-1000之间  rccommand[roll/pi

Jsoup代码解读之六-防御XSS攻击

Jsoup代码解读之八-防御XSS攻击 防御XSS攻击的一般原理 cleaner是Jsoup的重要功能之一,我们常用它来进行富文本输入中的XSS防御. 我们知道,XSS攻击的一般方式是,通过在页面输入中嵌入一段恶意脚本,对输出时的DOM结构进行修改,从而达到执行这段脚本的目的.对于纯文本输入,过滤/转义HTML特殊字符<,>,",'是行之有效的办法,但是如果本身用户输入的就是一段HTML文本(例如博客文章),这种方式就不太有效了.这个时候,就是Jsoup大显身手的时候了. 在前面,我

Jsoup代码解读之五-实现一个CSS Selector

Jsoup代码解读之七-实现一个CSS Selector 当当当!终于来到了Jsoup的特色:CSS Selector部分.selector也是我写的爬虫框架webmagic开发的一个重点.附上一张street fighter的图,希望以后webmagic也能挑战Jsoup! select机制 Jsoup的select包里,类结构如下: 在最开始介绍Jsoup的时候,就已经说过NodeVisitor和Selector了.Selector是select部分的对外facade,而NodeVisito

Jsoup代码解读之一-概述

Jsoup代码解读之一-概述 今天看到一个用python写的抽取正文的东东,美滋滋的用Java实现了一番,放到了webmagic里,然后发现Jsoup里已经有了…觉得自己各种不靠谱啊!算了,静下心来学学好东西吧! Jsoup是Java世界用作html解析和过滤的不二之选.支持将html解析为DOM树.支持CSS Selector形式选择.支持html过滤,本身还附带了一个Http下载器.从今天开始会写一个Jsoup源码解读系列,比起之前的博客,尽量会写的详尽一些. 概述 Jsoup的代码相当简洁

Jsoup代码解读之四-parser

Jsoup代码解读之四-parser 作为Java世界最好的HTML 解析库,Jsoup的parser实现非常具有代表性.这部分也是Jsoup最复杂的部分,需要一些数据结构.状态机乃至编译器的知识.好在HTML语法不复杂,解析只是到DOM树为止,所以作为编译器入门倒是挺合适的.这一块不要指望囫囵吞枣,我们还是泡一杯咖啡,细细品味其中的奥妙吧. 基础知识 编译器 将计算机语言转化为另一种计算机语言(通常是更底层的语言,例如机器码.汇编.或者JVM字节码)的过程就叫做编译(compile).编译器(

Jsoup代码解读之三-Document的输出

Jsoup代码解读之三-Document的输出 Jsoup官方说明里,一个重要的功能就是output tidy HTML.这里我们看看Jsoup是如何输出HTML的. HTML相关知识 分析代码前,我们不妨先想想,“tidy HTML"到底包括哪些东西: 换行,块级标签习惯上都会独占一行 缩进,根据HTML标签嵌套层数,行首缩进会不同 严格的标签闭合,如果是可以自闭合的标签并且没有内容,则进行自闭合 HTML实体的转义 这里要补充一下HTML标签的知识.HTML Tag可以分为block和inl

Jsoup代码解读之二-DOM相关对象

Jsoup代码解读之二-DOM相关对象 之前在文章中说到,Jsoup使用了一套自己的DOM对象体系,和Java XML API互不兼容.这样做的好处是从XML的API里解脱出来,使得代码精炼了很多.这篇文章会说明Jsoup的DOM结构,DOM的遍历方式.在下一篇文章,我会并结合这两个基础,分析一下Jsoup的HTML输出功能. DOM结构相关类 我们先来看看nodes包的类图: 这里可以看到,核心无疑是Node类. Node类是一个抽象类,它代表DOM树中的一个节点,它包含: 父节点parent

【dlib代码解读】人脸检测器的训练【转】

转自:http://blog.csdn.net/elaine_bao/article/details/53046542 版权声明:本文为博主原创文章,转载请注明. 目录(?)[-] 综述 代码解读 step by step 1 预处理阶段 11 载入训练集测试集 12 图片上采样 13 镜像图片 2 训练阶段 21 定义scanner用于扫描图片并提取特征 22 设置scanner扫描窗口大小 23 定义trainer用于训练人脸检测器 24 训练生成人脸检测器 25 测试 3 tips 31

Jeecg 查询条件拼装-代码解读

许久没有闲下来了,今天不想再写代码了,说说查询条件组装的,虽然基本上是自己写的,但是能写出来不一定可以说出来 ,算是为过两天的讲课做做准备吧. 这个是基于CriteriaQuery 的,而CriteriaQuery又是基于DetachedCriteria这个大家自己看了 写这个的时候,想了挺久,就是想找可以可以扩展的查询拼装,后来定义了这个接口             为每种类型做不同的实现,这个可以为以后类型扩充做准备 判断类型就是依据字段的类型,然后选择类型进行调用,现在实现了 基本上都是基

Hybrid----优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案-备

本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge. 它优雅地实现了在使用UIWebView时JS与ios 的ObjC nativecode之间的互调,支持消息发送.接收.消息处理器的注册与调用以及设置消息处理的回调. 就像项目的名称一样,它是连接UIWebView和Javascript的bridge.在加入这个项目之后,他们之间的交互处理方式变得很友好. 在native code中跟UIWebView中的js交互的时候,像下面这样: [cpp] view pla