随着社会的发展,越来越多的中小学生、老师、创客们、设计师、艺术家等都在玩Arduino,那Arduino编程语言入门难吗?我们都知道Arduino使用C/C++编写程序,虽然C++兼容C语言,但这是两种语言,C语言是一种面向过程的编程语言,C++是一种面向对象的编程语言。早期的Arduino核心库使用C语言编写,后来引进了面向对象的思想,目前最新的Arduino核心库采用C与C++混合编写而成。所以如果你会编程语言C或者C++的话那一点都不难,如果您是小白用户那估计要费点功夫学习了。

今天我们来详细了解下Arduino编程语言入门教程:

  1. 关键字
    语法符号:
    ;
    ;是一条语句结束的标志,供编译器识别,必须得有。

{}
{}将多条语句合成一个复合语句,能划分语句的作用域,增强整体整体的可读性。
//
//行注释,该行//后的所有语句,文字将不被编译器所编译、执行。相似的,还有,在中的所有语句,文字将不被编译器所编译、执行。

if(表达式)
{
语句A;
}

if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}

else if(表达式n)
{
语句n;
}
else
{
语句n+1;
}

for(初始表达式;条件表达式;循环变量表达式)
{
循环体语句;
}

switch(表达式)
{
case 表达式常量1:语句序列1;
case 表达式常量2:语句序列2;

case 表达式常量i:语句序列i;
case 表达式常量n:语句序列n;
default:语句序列n+1;
}

while(条件表达式)
{
循环语句;
循环变量表达式;
}

do
{
循环体语句;
}while(条件表达式);

break;

continue;

return x;

goto 语句标号;

  1. 数据类型:

  2. 常量
    HIGH | LOW 表示数字IO口的高低电平。HIGH 表示高电(1),LOW 表示低电平(0)。
    INPUT | OUTPUT 表示数字IO口的方向,INPUT 表示输入(高阻态),OUTPUT 表示输出(AVR单片机能提供5V电压 40mA电流)。
    true | false true 表示真(1),false表示假(0)。

  3. 程序结构
    声明变量及接口名称(例如:int i;int ledPin=13;)。
    void setup() 函数在程序开始时使用,初始化变量,管脚模式,调用库函数等(例如:pinMode(ledPin,OUTUPT);)。
    void loop() 在void setup()函数之后,即初始化之后,loop() 让你的程序循环地被执行。使用它来运转Arduino。

  4. 数字 I/O
    以下型号为UNO
    pinMode(pin, mode);
    数字IO口输入输出模式定义函数,pin表示为0~13, mode表示INPUT或OUTPUT。
    digitalWrite(pin, value) ;
    数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。
    必须先定义为输入或输出模式digitalWrite才能生效。
    int digitalRead(pin);
    数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。比如可以读数
    字传感器。

  5. 模拟IO
    int analogRead(pin);
    模拟IO口读函数,pin表示为0~5(ArduinoDiecimila为0~5,Arduino nano为0~7)。比如可以读模拟传感器(10位AD,0~5V表示为0~1023)。
    analogWrite(pin, value) - PWM
    数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数通常在引脚的旁边标注~,pin表示3, 5, 6, 9,10, 11,value表示为0~255。比如可用于电机PWM调速或音乐播放。

  6. 扩展 I/O
    shiftOut(dataPin, clockPin, bitOrder,value);
    SPI外部IO扩展函数,通常使用带SPI接口的74HC595做8个IO扩展,dataPin为数据口,clockPin为时钟口,bitOrder为数据传输方向(MSBFIRST高位在前,LSBFIRST低位在前),value表示所要传送的数据(0~255),另外还需要一个IO口做74HC595的使能控制。

unsigned long pulseIn(pin, value);脉冲长度记录函数,返回时间参数(us),pin表示为0~13,value为HIGH或LOW。比如value为HIGH,那么当pin输入为高电平时,开始计时,当pin输入为低电平时,停止计时,然后返回该时间。

  1. 时间函数
    unsigned long millis();返回时间函数(单位ms),该函数是指,当程序运行就开始计时并返回记录的参数,该参数溢出大概需要50天时间。
    delay(ms);延时函数(单位ms)。
    delayMicroseconds(us);延时函数(单位us)。

  2. 数学函数
    min(x, y) ;求最小值。
    max(x, y) ;求最大值。
    abs(x) ; 计算绝对值。
    constrain(x, a, b) ; 约束函数,下限a,上限b,x必须在ab之间才能返回。
    map(value, fromLow, fromHigh, toLow,toHigh);约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间。
    pow(base, exponent);开方函数,base的exponent次方。
    sq(x); 平方。
    sqrt(x);开根号。
    三角函数:
    sin(rad);
    cos(rad);
    tan(rad);

  3. 随机数函数
    randomSeed(seed);随机数端口定义函数,seed表示读模拟口analogRead(pin)函数 。
    long random(max);随机数函数,返回数据大于等于0,小于max。
    long random(min, max);随机数函数,返回数据大于等于min,小于max。

  4. 外部中断函数
    attachInterrupt(interrupt, , mode;外部中断只能用到数字IO口2和3,interrupt表示中断口初始0或1,表示一个功能函数,mode:LOW低电平中断,CHANGE有变化就中断,RISING上升沿中断,FALLING 下降沿中断。
    detachInterrupt(interrupt);中断开关,interrupt=1 开,interrupt=0 关。
    interrupts();中断使能函数,用于使能中断。
    noInterrupts();中断禁止函数,禁止中断。

  5. 串口收发函数
    Serial.begin(speed);串口定义波特率函数,speed表示波特率(串行每秒传输数据位数的速率),如9600,19200等。
    int Serial.available() 判断缓冲器状态。
    int Serial.read();读串口并返回收到参数。
    Serial.flush();清空缓冲器。
    Serial.print(data);串口输出数据。Serial.print(数据,数据的进制) 默认为十进制(DEC)
    Serial.println(data);串口输出数据并带回车符。

  6. 重要
    以上列举了一些较常用的函数,事实上,在Arduino的安装目录下的libraries还有众多函数可以根据需要进行调用和学习。
    也可以自己编写函数然后按照libraries目录下其他函数的格式打包好。放置在libraries目录下,然后自己就可以在IDE环境下调用自己编写的函数了。

通过以上介绍,其实大家可以看到arduino编程语言入门并不难,以上内容分享出来给大家作为参考,想要了解更多更专业的arduino编程语言教程可以去DF创客社区Arduino学习专栏学习。

Arduino入门-Arduino编程语言入门教程相关推荐

  1. Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE

    Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...

  2. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  3. Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍

    Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple的介绍 LilyPad和LilyPad Simple是LilyPad微控 ...

  4. Arduino可穿戴开发入门教程LilyPad介绍

    Arduino可穿戴开发入门教程LilyPad介绍 Arduino输出模块 LilyPad官方共提供了4种输出模块,他们分别是单色LED模块(图1.5).三色LED模块(图1.6).蜂鸣器模块(图1. ...

  5. Arduino可穿戴开发入门教程(大学霸内部资料)

    Arduino可穿戴开发入门教程(大学霸内部资料) 试读下载地址:链接:http://pan.baidu.com/s/1mg9To28 密码:z5v8 介绍:Arduino可穿戴开发入门教程(大学霸内 ...

  6. Rust编程语言入门教程(一)-什么是Rust

    文章目录 Rust编程语言入门教程(一) 什么是Rust rust 发展历史 应用环境 为什么选择Rust 新项目用Rust还是Go? Rust编程语言入门教程(一) 什么是Rust wiki百科:h ...

  7. 苹果Swift编程语言入门教程【中文版】

    Swift代码语言教程:在刚刚过去的WWDC2014大会上,苹果公司新发布了一种编程语言Swift.据悉,Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题,对于广 ...

  8. 小白入门Arduino,一步一图搭建开发环境

    目录 1.Arduino 2.环境搭建 2.1 下载软件: 2.2 ide安装 2.3 软件试用 2.5 代码解读 3.总结 最近有机会接触到物联网的开发,所以自己学习一下,记录一下. 在查阅了各种资 ...

  9. 【Arduino】Arduino IDE使用教程-超详细

    本篇文章可以结合上一篇[Arduino]一天入门Arduino语言 教程 学习Arduino语法,以及Arduino IDE的使用,让你最快的掌握Arduino 文章目录 Arduino IDE使用教 ...

  10. python自学视频教程 38-python编程开发入门中文视频培训教程38讲

    Python 当前位置:主页 > 编程教程 > Python > python编程开发入门中文视频培训教程38讲 python编程开发入门中文视频培训教程38讲 教程大小:   发布 ...

最新文章

  1. Python入门 HelloWorld
  2. java 日志使用_Java日志正确使用姿势
  3. git(10)---Git常用命令
  4. mac android手机调试,mac os开发android应用通过usb真机调试
  5. 推荐系统-Task03离线物料系统的构建
  6. [渝粤教育] 中国地质大学 中外美术史 复习题 (2)
  7. c语言迷宫算法坐标怎么定义,[原创]递归随机迷宫生成算法详解
  8. java2实用教程第五版耿祥义电子版_Java2实用教程(第5版)答案_耿祥义
  9. bigemap软件优势
  10. 敏感词过滤算法DFA
  11. 顺序工作流 状态机工作流 数据岛工作流 选择 .
  12. 计算机加入域后的用户名和密码,Windows自动改计算机名和加入域工具
  13. 5G风起,CDN边缘计算将乘风破浪
  14. 股票交易费的计算---沪A版
  15. 他捧红了王菲、张学友等近百个巨星,却甘心成为最普通的学佛人…
  16. EasyUI Menu 菜单和按钮
  17. windows nginx出现 was not signaled for 5s
  18. idea项目打包和部署
  19. Zookeeper和Kafka环境搭建总结
  20. Autofac依赖注入

热门文章

  1. android连接打印机打印pdf文件,在android中打印pdf
  2. JSP中文显示乱码解决方案
  3. 机械盘阵高并发——使用ImDisk 与 junction显著提高整体吞吐性能
  4. Android入门之本地音乐播放器
  5. HTML5-单、多选框,按钮
  6. 物联网边缘-物联网准入或接入安全防护产品及解决方案
  7. CFDA发布GMP《计算机化系统和确认与验证》两个附录
  8. pyhook3安装教程及与之相关的一些问题的解决方法
  9. Unity3d import package 无标准资源包
  10. 【场景化解决方案】OA审批与用友U9数据集成