Arduino学习——基础知识

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

关键字

1.语法符号:

;

;是一条语句结束的标志,供编译器识别,必须得有。

{}

{}将多条语句合成一个复合语句,能划分语句的作用域,增强整体整体的可读性。

//

//行注释,该行//后的所有语句,文字将不被编译器所编译、执行。相似的,还有,在中的所有语句,文字将不被编译器所编译、执行。

if

if(表达式)  

{

语句A;

}

if(表达式1)

{

语句1

}

    else if(表达式2)

    {

    语句2

    }

          ...

       else if(表达式n)

              {

               语句n

               }

                 else

                        {

                        语句n+1

                        }

for

for(初始表达式;条件表达式;循环变量表达式)

{

循环体语句;

}

switch

switch(表达式)

{

case 表达式常量1:语句序列1

case 表达式常量2:语句序列2

       ...

case 表达式常量i:语句序列i

case 表达式常量n:语句序列n

default:语句序列n+1

}

while

while(条件表达式)

{

循环语句;

循环变量表达式;

}

do

{

循环体语句;

}while(条件表达式);

break

continue

return x

goto 语句标号;

2. 数据类型:

数据类型

字节长度

值范围

bool

布尔类型

1

flase or true

char

字符类型

1

-128 – 127

byte

字节类型

1

0-255

int

整数类型

2

-32768 – 32768

unsigned int

无符号整数类型

2

0-65535

Long

长整数类型

4

unsigned long

无符号长整数类型

4

float

浮点类型

4

double

双精度浮点类型

string

字符数组型

array

数组类型

void

无类型

3. 常量

HIGH | LOW 

表示数字IO口的高低电平。

HIGH 表示高电(1),LOW 表示低电平(0)。

INPUT | OUTPUT 

表示数字IO口的方向,INPUT 表示输入(高阻态),OUTPUT  表示输出(AVR单片机能提供5V电压 40mA电流)。

true | false  

true 表示真(1),false表示假(0)。

4. 程序结构

声明变量及接口名称

(例如:int i;int ledPin=13;)。

void setup() 

函数在程序开始时使用,初始化变量,管脚模式,调用库函数等(例如:pinMode(ledPin,OUTUPT);)。

void loop()  

void setup()函数之后,即初始化之后,loop() 让你的程序循环地被执行。使用它来运转Arduino

5. 数字 I/O

以下型号为UNO

pinMode(pin, mode);

数字IO口输入输出模式定义函数,pin表示为013, mode表示INPUTOUTPUT

digitalWrite(pin, value) ;

数字IO口输出电平定义函数,pin表示为013value表示为HIGHLOW

必须先定义为输入或输出模式digitalWrite才能生效。

int digitalRead(pin);

数字IO口读输入电平函数,pin表示为013value表示为HIGHLOW。比如可以读数

字传感器。

6. 模拟IO

int analogRead(pin);  

模拟IO口读函数,pin表示为05ArduinoDiecimila05Arduino nano07)。比如可以读模拟传感器(10AD05V表示为01023)。

analogWrite(pin, value) - PWM   

数字IOPWM输出函数,Arduino数字IO口标注了PWMIO口可使用该函数通常在引脚的旁边标注~pin表示3, 5, 6, 9,10, 11value表示为0255。比如可用于电机PWM调速或音乐播放。

7. 扩展 I/O

shiftOut(dataPin, clockPin, bitOrder,value);   

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

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

8. 时间函数

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

delay(ms);延时函数(单位ms)。

delayMicroseconds(us);延时函数(单位us)。

9. 数学函数

min(x, y) ;求最小值。

max(x, y) ;求最大值。

abs(x) ; 计算绝对值。

constrain(x, a, b) ; 约束函数,下限a,上限bx必须在ab之间才能返回。

map(value, fromLow, fromHigh, toLow,toHigh);约束函数,value必须在fromLowtoLow之间和fromHightoHigh之间。

pow(base, exponent);开方函数,baseexponent次方。

sq(x); 平方。

sqrt(x);开根号。

三角函数:

sin(rad);

cos(rad);

tan(rad);

10. 随机数函数

randomSeed(seed);随机数端口定义函数,seed表示读模拟口analogRead(pin)函数 。

long random(max);随机数函数,返回数据大于等于0,小于max

long random(min, max);随机数函数,返回数据大于等于min,小于max

11. 外部中断函数

attachInterrupt(interrupt, , mode;外部中断只能用到数字IO23interrupt表示中断口初始01,表示一个功能函数,modeLOW低电平中断,CHANGE有变化就中断,RISING上升沿中断,FALLING 下降沿中断。

detachInterrupt(interrupt);中断开关,interrupt=1 开,interrupt=0 关。

interrupts();中断使能函数,用于使能中断。

noInterrupts();中断禁止函数,禁止中断。

12. 串口收发函数

Serial.begin(speed);串口定义波特率函数,speed表示波特率(串行每秒传输数据位数的速率),如960019200等。

int Serial.available()  判断缓冲器状态。

int Serial.read();读串口并返回收到参数。

Serial.flush();清空缓冲器。

Serial.print(data);串口输出数据。Serial.print(数据,数据的进制默认为十进制(DEC

Serial.println(data);串口输出数据并带回车符。

13. 重要

以上列举了一些较常用的函数,事实上,在Arduino的安装目录下的libraries还有众多函数可以根据需要进行调用和学习。

也可以自己编写函数然后按照libraries目录下其他函数的格式打包好。放置在libraries目录下,然后自己就可以在IDE环境下调用自己编写的函数了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值