Arduino入门-Arduino编程语言入门教程

article/2025/9/22 22:59:05

随着社会的发展,越来越多的中小学生、老师、创客们、设计师、艺术家等都在玩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学习专栏学习。


http://chatgpt.dhexx.cn/article/aRqgspNJ.shtml

相关文章

arduino c语言pdf,arduino编程从零开始

arduino编程从零开始是一款Arduino新手编程入门手册,由Simon Monk编著,刘椮楠翻译,全书揭示了arduino的软件特性,介绍了如何在arduino上用c语言编写能稳定运行的sketch。本书的重点是对Arduino编程,作者将介绍怎样简单并有趣地对Arduino编程,避免使用生涩难瞳的代码而让制…

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

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

arduino入门1

文章目录 编程并不是一间很难的事,你可这样理解: 在编程中,你就像是一个老板arduino就像是你的员工,你可指挥arduino去做你想让它做的事。当然,要做的事得在员工的工作范围之内。 arduino这位员工就是一块电路板&…

Arduino面向对象编程基础

面向对象编程基础 1.基础概论 面向对象三大特征:继承、封装、多态 2.简单的类和对象 案例:创建Led类 案例01:感受构造函数与析构函数的功能 class Led {public :Led(); //构造函数声明,初始化对象,在创建对象的…

Arduino入门教程

Arduino是一款简单易学的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。它通过各种各样的传感器来感知环境,再通过控制灯光、电机和其他的装置来完成很多自动控制任务,在…

Arduino学习篇,基础入门

什么是arduino? 简单来讲arduino就是通过源代码控制开发板的信号输入输出从而实现对一些电子元件的控制,例如LED灯,蜂鸣器,按键 arduino程序 首先来讲arduino程序是基于C语言,而实现类似对于LED灯和蜂鸣器的简单控制只需简单C语…

TCP 四次挥手,可以变成三次挥手吗?

作者:小林coding 计算机八股文网站:https://xiaolincoding.com 大家好,我是小林。 虽然我们在学习 TCP 挥手时,学到的是需要四次来完成 TCP 挥手,但是在一些情况下, TCP 四次挥手是可以变成 TCP 三次挥手的…

TCP的三次握手、四次挥手--非常详细讲解

本篇文章转自 TCP的三次握手(建立连接)和四次挥手(关闭连接)不过进行了一些编辑。 TCP(Transmission Control Protocol) 传输控制协议 1、TCP三次握手和四次挥手的过程图 tcp的6种标志位的分别代表: SYN(synchronous建立联机) ACK…

两张动图-彻底明白TCP的三次握手与四次挥手

背景描述 通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。…

http——三次握手四次挥手

http htttp:TCP三次握手四次挥手(TCP连接的释放) htttp: 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消…

HTTP的三次握手和四次挥手

目录 1. HTTP的三次握手2. HTTP的四次挥手3. HTTPS的三次握手 1. HTTP的三次握手 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力…

我终于搞懂了TCP的三次握手和四次挥手(图片案例超详解)

【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、…

tcp四次挥手,为什么是四次?

上一篇博客说了三次握手为什么是是三次(点这里),那么现在就介绍一下四次挥手。大家都知道TCP是全双工的,再建立连接时的三次握手中的SYN和ACK一起发送,这里就会有疑问,为什么在四次挥手的时候没有将SYN和AC…

TCP三次握手,四次挥手的全过程,为什么需要三次握手,四次挥手

文章目录 前言TCP协议的介绍三次握手四次挥手 前言 主要介绍为什么TCP协议需要三次握手和四次挥手 TCP协议的介绍 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议. 面向连接&…

TCP四次挥手

第一次挥手: 主动断开方(客户端,服务的都可以)向对方发送一个FIN结束请求报文,并设置序列号和确认号,随后主动断开方进入FIN_WAIT1状态,这表示主动断开方已经没有业务数据要发给对方了&#xff…

TCP的三次握手与四次挥手详解

文章目录 TCP 协议简述TCP包首部TCP 三次握手建立连接TCP 四次挥手关闭连接常见面试题: TCP 协议简述 TCP 提供面向有连接的通信传输,面向有连接是指在传送数据之前必须先建立连接,数据传送完成后要释放连接。TCP传输的是字节流 无论哪一方…

什么是“三次挥手”和“四次握手”

文章目录 一、为什么要进行三次握手二、握手为什么要三次三、挥手为什么需要三次四、挥手为什么三次不行总结 前言 首先,我们先说什么是”三次握手“和”四次挥手“ 1.我们先来简单介绍一下”三次握手“ (1).先来介绍一下里面这些看起来比较…

简述TCP四次挥手

四次挥手主要用到了两个标志位(ACK&FIN): ACK 示意参考:TCP三次握手FIN: 终止数据传输标志位---->当FIN为1的时候代表此数据为终止断开连接的请求 四次挥手流程: 由于TCP连接是双向传输的对等的模式即双工 wiki百科定义: 全双工(full-duplex)的…

简述四次挥手

什么是四次挥手 由于TCP连接是全双工的,断开一个TCP连接,需要客户端与服务器发送四个包来确认连接的断开 简述四次挥手的过程: 因为TCP是全双工的,因此,每个方向都要单独关闭 当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着 一方向不会再…

三次握手四次挥手

三次握手四次挥手是tcp协议中的,在说三次握手四次挥手先说一下tcp协议和udp协议。 (1)我们常用的网络通信如浏览网页、软件聊天、看的爱奇艺上的视频都是通过tcp、udp这两种协议来进行数据传输的; (2)tcp…