首页 > 编程知识 正文

arduino就是一款单片机,arduino和单片机的编程区别

时间:2023-05-04 08:09:32 阅读:148191 作者:2880

众所周知,Arduino是一个开源电子平台,拥有灵活易用的硬件和软件。 Arduino作为知名度很高的微控制器,融合在很多领域。 现在很多中小学生、老师、创客们、设计师、艺术家等都在玩arduino。

Arduino可以通过接收来自各种传感器的输入信号来检测工作环境,并通过控制光源、电机和其他驱动器来影响周围环境。 板上的微控制器使用Arduino编程语言和Arduino开发环境,Arduino可以独立工作或与计算机通信。

Arduino编程语言入门难吗? 很多朋友会问,其实如果你会编程语言c或c那也不是什么难事,但如果你是一个有耐性的火龙果用户,你应该会花点时间学习吧。

Arduino正在使用C/C编写程序。 c与c语言兼容,但这是两种语言。 c语言是面向过程的编程语言,c是面向对象的编程语言。 早期的Arduino核心库采用C语言编写,随后引入了面向对象的思想,目前最新的Arduino核心库采用C和C混合编写。

Arduino语言通常是由Arduino核心库文件提供的各种APP编程接口(applicationprogramminginterface,简称API )的集合。 这些API是对底层单片机支持库的辅助封装。 例如,利用AVR单片机的Arduino的核心库是AVR-libc (基于gcc的AVR支持库)的二次包。

这些打包的API使程序中的语句更容易理解。 我们可以不用担心单片机中繁琐的寄存器配置,直观地控制Arduino,在提高程序可读性的同时也提高了开发效率。 这就是Arduino和单片机最大的区别,使用起来更简单,效率更高。

让我们看一下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 )条件表达式;

黑;

连续;

返回x;

goto语句标签;

2 .数据类型:

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表示0~13,mode表示输入或输出。

数字写入(pin,value );

数字IO端口输出电平定义函数,其中pin表示0到13,value表示HIGH或LOW。

必须将其定义为输入模式或输出模式digitalWrite才能启用。

intdigitalread(pin );

数字IO端口引线输入电平函数的pin表示0到13,value表示高或低。 例如可以读取

文字传感器。

6 .模拟IO

intanalogread(pin );

模拟IO口读函数,pin为0~5(arduinodiecimila为0~5,Arduino nano为0~7 )。 例如,可以读取模拟传感器(10位AD,0~5V表示为0~1023 )。

模拟写入

e(pin, value) - PWM
数字IO口PWM输出函数,Arduino数字IO口标注了PWM的IO口可使用该函数通常在引脚的旁边标注~,pin表示3, 5, 6, 9,10, 11,value表示为0~255。比如可用于电机PWM调速或音乐播放。
7. 扩展 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输入为低电平时,停止计时,然后返回该时间。
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,上限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);
10. 随机数函数
randomSeed(seed);随机数端口定义函数,seed表示读模拟口analogRead(pin)函数 。
long random(max);随机数函数,返回数据大于等于0,小于max。
long random(min, max);随机数函数,返回数据大于等于min,小于max。
11. 外部中断函数
attachInterrupt(interrupt, , mode;外部中断只能用到数字IO口2和3,interrupt表示中断口初始0或1,表示一个功能函数,mode:LOW低电平中断,CHANGE有变化就中断,RISING上升沿中断,FALLING 下降沿中断。
detachInterrupt(interrupt);中断开关,interrupt=1 开,interrupt=0 关。
interrupts();中断使能函数,用于使能中断。
noInterrupts();中断禁止函数,禁止中断。
12. 串口收发函数
Serial.begin(speed);串口定义波特率函数,speed表示波特率(串行每秒传输数据位数的速率),如9600,19200等。
int Serial.available() 判断缓冲器状态。
int Serial.read();读串口并返回收到参数。
Serial.flush();清空缓冲器。
Serial.print(data);串口输出数据。Serial.print(数据,数据的进制) 默认为十进制(DEC)
Serial.println(data);串口输出数据并带回车符。
13. 重要
以上列举了一些较常用的函数,事实上,在Arduino的安装目录下的libraries还有众多函数可以根据需要进行调用和学习。
也可以自己编写函数然后按照libraries目录下其他函数的格式打包好。放置在libraries目录下,然后自己就可以在IDE环境下调用自己编写的函数了。


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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。