Arduino 语法与函数
Arduino programs can be divided in three main parts: structure, values (variables and constants), and functions.
Structure
• setup() 每次 Arduino 上电或重启后,setup 函数只运行一次,用于初始化变量、设置针脚的输出\输入类型、配置串口、引入类库文件等等
• loop() 该函数在程序运行过程中不断的循环
Control Structures 结构控制
• if
• if...else
• for
• switch case
• while
• do... while
• break
• continue
• return
• goto
Further Syntax 进一步的语法
• ; (semicolon)
• { } (curly braces)
• // (single line comment)
• /* */ (multi-line comment)
• #define
• #include
Arithmetic Operators 数学运算符
• = (assignment operator)
• + (addition)
• - (subtraction)
• * (multiplication)
• / (division)
• % (modulo)
Comparison Operators 比较运算符
• == (equal to)
• != (not equal to)
• < (less than)
• > (greater than)
• <= (less than or equal to)
• >= (greater than or equal to)
Boolean Operators 布尔运算符
• && (and)
• || (or)
• ! (not)
Pointer Access Operators 指针运算符
• * dereference operator
• & reference operator
Bitwise Operators 位运算符
• & (bitwise and)
• | (bitwise or)
• ^ (bitwise xor)
• ~ (bitwise not)
• << (bitshift left)
• >> (bitshift right)
Compound Operators 比较运算符
• ++ (increment)
• -- (decrement)
• += (compound addition)
• -= (compound subtraction)
• *= (compound multiplication)
• /= (compound division)
• %= (compound modulo)
• &= (compound bitwise and)
• |= (compound bitwise or)
Variables
Constants 常量
• HIGH | LOW
• INPUT | OUTPUT |INPUT_PULLUP
• LED_BUILTIN
• true | false
• integer constants
• floating point constants
Data Types 数据类型
• void
• boolean
• char
• unsigned char
• byte
• int
• unsigned int
• word
• long
• unsigned long
• short
• float
• double
• string - char array
• String - object
• array
Conversion 数据转换
• char() 转换为字符型
• byte() 转换为字节型
• int() 转换为整型
• word()
• long() 转换为长整型
• float() 转换为实型
Variable Scope & Qualifiers
• variable scope
• static
• volatile
• const
Utilities
• sizeof()
• PROGMEM
Functions
Digital I/O
• pinMode() 引脚定义
• digitalWrite() 开关量输入
• digitalRead() 开关量输出
Analog I/O
• analogReference() 模拟量参考电压设置
• analogRead() 模拟量输入
• analogWrite() - PWM 模拟量输出
Due & Zero only
• analogReadResolution()
• analogWriteResolution()
Advanced I/O
• tone() 方波输出
• noTone() 方波输出取消
• shiftOut() 串行数据输出
• shiftIn() 串行数据输入
• pulseIn() 输入脉冲的高电平时间长度
Time
• millis() 程序运行时间,毫秒
• micros() 程序运行时间,微秒
• delay() 延时函数,毫秒
• delayMicroseconds() 延时函数,微秒
Math
• min() 计算最小值
• max() 计算最大值
• abs() 绝对值函数
• constrain() 变量区间限制
• map() 区间变换函数
• pow() 幂函数
• sqrt() 平方根函数
Trigonometry 三角函数
• sin()
• cos()
• tan()
Characters 字符函数
• isAlphaNumeric()
• isAlpha()
• isAscii()
• isWhitespace()
• isControl()
• isDigit()
• isGraph()
• isLowerCase()
• isPrintable()
• isPunct()
• isSpace()
• isUpperCase()
• isHexadecimalDigit()
Random Numbers
• randomSeed() 随机数端口定义函数
• random() 产生伪随机数
Bits and Bytes
• lowByte()
• highByte()
• bitRead()
• bitWrite()
• bitSet()
• bitClear()
• bit()
External Interrupts
• attachInterrupt() 外部中断设置
• detachInterrupt() 外部中断取消
Interrupts
• interrupts() 中断使能
• noInterrupts() 中断禁止
Communication
• Serial
• Stream
USB (32u4 based boards and Due/Zero only)
• Keyboard
• Mouse
Arduino 语法与函数的更多相关文章
- Arduino - 串口操作函数与示例代码大全
来源:https://blog.csdn.net/iracer/article/details/50334041 Arduino - 串口操作函数与示例代码大全 本文总结了Arduino常用串口操作函 ...
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- MySQL 储存过程-原理、语法、函数详细说明
Mysql储存过程是一组为了完成特定功能的SQL语句集,经过编译之后存储在数据库中,当需要使用该组SQL语句时用户只需要通过指定储存过程的名字并给定参数就可以调用执行它了,简而言之就是一组已经写好的命 ...
- openresty开发系列14--lua基础语法3函数
openresty开发系列14--lua基础语法3函数 一)function (函数) 有名函数: optional_function_scope function function_name( ar ...
- Arduino参考手册-函数和变量及电路图
标题: Arduino参考手册-函数和变量及电路图 作者: 梦幻之心星 sky-seeker@qq.com 标签: [#Arduino,#参考手册,#函数,#变量] 目录: [Arduino] 日期: ...
- JAVA基础语法:函数(方法)、类和对象(转载)
4.JAVA基础语法:函数(方法).类和对象 函数 在java中函数也称为方法,是一段具备某种功能的可重用代码块. 一个函数包括这几部分: 函数头 函数头包括函数访问修饰符,函数返回值类型, 函数名, ...
- python基础语法_9-0函数概念
http://www.runoob.com/python3/python3-function.html 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代 ...
- Arduino语法-变量和常量
变量的声明: int led=11 一般变量的声明方法为类型名+变量名+变量初始化值.变量名的写法约定为首字母小写 变量的作用范围又称为作用域,变量的作用范围与该变量在哪儿声明有关,大致分为如下两种: ...
- Arduino语法详解_含示例详解
Arduino 的程序可以划分为三个主要部分:结构.变量(变量与常量).函数. 结构部分 一.结构 1.1 setup() 1.2 loop() 二.结构控制 2.1 if 2.2 if...else ...
随机推荐
- android 数据绑定(5) kotlin 的binding bug
1.BR找不到,无法自动更新 1.1 描述 https://stackoverflow.com/questions/57983508/android-studio-kotlin-databinding ...
- TypeError 之 Cannot convert undefined or null to object
分享一个今天遇到的一个bug , 希望对你也有用. 1.Object.keys()中传错了参数 2.由于undefined和null无法转成对象,所以如果它们做为Object.assign()的参数( ...
- gcd(a,b) 复杂度证明
(b,a%b) a%b<=min(b,a%b)/2 a>=b时每次至少缩减一半 a<b时下次a>b 所以复杂度最多2log(max(a,b)) 证明:a%b<=min(a ...
- MD5截断比较验证
最近在打De1CTF时在Web项目中碰到了两次MD5截断比较验证的题目,在做题时为了方便顺手写了一个小脚本来爆破Code,下面就简单分享一下思路 以De1CTF线上赛Web3为例,在De1CTF中,我 ...
- 【Nginx】面试官:给我讲讲Nginx如何实现四层负载均衡?
写在前面 这次又被问到Nginx四层负载均衡的问题了,别慌,我们一起来细细分析这个看似简单的问题. 如果文章对你有点帮助,请关注 冰河技术 微信公众号,点赞.在看.留言和转发,大家的四连是我持续创作的 ...
- 【小白学PyTorch】8 实战之MNIST小试牛刀
文章来自微信公众号[机器学习炼丹术].有什么问题都可以咨询作者WX:cyx645016617.想交个朋友占一个好友位也是可以的~好友位快满了不过. 参考目录: 目录 1 探索性数据分析 1.1 数据集 ...
- JVM 中的对象及引用
JVM中对象的创建过程 对象的内存分配 虚拟机遇到一条 new 指令时,首先检查是否被类加载器加载,如果没有,那必须先执行相应的类加载过程. 类加载就是把 class 加载到 JVM 的运行时数据区的 ...
- 现象:当指定logback的FileNamePattern为日期2020-01-15后,如果有线程不断的往里写log,过了零点文件不会变成下一日2020-01-16,还是会在2020-01-15里继续写 结论:写log的线程不停,文件不会按日子更换。
logback版本:1.1.11 这个是我实验验证的,昨天我配置了一个logback,然后用两个线程不断往里写log,结果发现到了今天2020-01-16日,log文件还是昨天的logbackCfg. ...
- jmeter做简单的压测
一.JMeter概述jmeter除了可以做借口测试外,还可以做压力测试:首先介绍jmeter中各个组件在压力测试中扮演的角色 1)线程(Threads(Users))即虚拟用户,线程组里可设置需要模拟 ...
- Tooltip鼠标hover放上时文字提示
使用content属性来决定hover时的提示信息. 由placement属性决定展示效果: placement属性值为: 方向-对齐位置: 四个方向:top.left ...