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 语句标号;
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表示INPUT或OUTPUT。
digitalWrite(pin, value) ;
数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。
必须先定义为输入或输出模式digitalWrite才能生效。
int digitalRead(pin);
数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。比如可以读数
字传感器。
6 模拟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调速或音乐播放。
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 串口收发函数
Serialbegin(speed);串口定义波特率函数,speed表示波特率(串行每秒传输数据位数的速率),如9600,19200等。
int Serialavailable() 判断缓冲器状态。
int Serialread();读串口并返回收到参数。
Serialflush();清空缓冲器。
Serialprint(data);串口输出数据。Serialprint(数据,数据的进制) 默认为十进制(DEC)
Serialprintln(data);串口输出数据并带回车符。
13 重要
以上列举了一些较常用的函数,事实上,在Arduino的安装目录下的libraries还有众多函数可以根据需要进行调用和学习。
也可以自己编写函数然后按照libraries目录下其他函数的格式打包好。放置在libraries目录下,然后自己就可以在IDE环境下调用自己编写的函数了。
通过以上介绍,其实大家可以看到arduino编程语言入门并不难,以上内容分享出来给大家作为参考,想要了解更多更专业的arduino编程语言教程可以去DF创客社区Arduino教程专栏学习。
在Maker Faire现场展台上展示的开源硬件平台可见一斑:基于Ardurino开发的创意产品占绝大部分,由此可见,由Ardurino构建的创客生态系统已蔚然成风,各类基于Ardurino的软硬件开发平台、技术资料、配件等已经非常完善。
而对其他开源硬件平台而言,使用者偏少。无外乎有以下几大原因:第一,Ardurino是创客的“开山鼻祖”,江湖老大的地位不可动摇;第二,Ardurino功能简单,对初学者而言上手更快;第三,关于Ardurino的所有配套资料、使用群体最庞大,志同道合者居多。
事实上,当使用Ardurino基本的控制功能达不到创客们的更高级、更先进的要求(如通讯、互联、互动等)时,创客们会另寻出路,会选择采用基于ARM架构或X86架构的开源硬件平台。举几个简单的例子,仅供参考。
Ardurino:适用于入门级新手创客。开发工具有Arduino IDE,具有丰富的Arduino驱动代码。对于入门级创客来说,大家更多的是看中Arduino庞大的网络资源,各种叠加扩展板和传感器板。
AVR单片机:Arduino的核心芯片用的就是Atmel的AVR 8位单片机,可以说Atmel是Arduino的鼻祖。
Atmel Xplained / Xplained Pro 开发板:作为低成本单片机,Atmel Xplained / Xplained Pro 开发板有很多型号可供大家选择,如:8位或32位AVR单片机、ARM Cortex-M0+ 或 Cortex-M4 或 Cortex-M4F、ARM Cortex-M0+ 加无线 SoC、ARM Cortex-A5 微处理器等。基于ARM Cortex-M0+ 架构的开发平台,低外围资源,但同时具备低功耗,二次开发简易,拥有32位ARM的计算性能等优势。Xplained Pro开发板同样具有可扩展性,可以使用标准排针在开发板侧面连接扩展板。
树莓派RaspberryPi:相比Arduino,树莓派提供更高性能的处理能力,可以轻松实现I/O控制、高速数据通信、视频处理、实时运算等,创客可以在Debian Linux环境下编程,实现各种过去需要在PC环境实现的功能。树莓派是初级创客向高阶创客演进的理想平台。目前全球用户超过300万,每年以200万的速度递增。
CooCox开发工具:用于ARM Cortex-M设备的开发,CoIDE具有强大的工程管理和调试功能,集成了一个开放和分享的组件代码平台,支持Arduino编程语言,Arduino驱动代码可平滑移植到CoIDE,基本不需改动代码,适用于有进阶需求的创客。
MSP430 LaunchPad:LaunchPad是TI专门推出的一系列开发平台,其特点是使用简单:下载使用一体,无需额外硬件。与此同时,来自美国的工程师还向创客们演示直接在电路板上方加上“Booster Pack”外围板(相当于扩展板),去完成不同外设的二次开发。有用过Launchpad开发办的工程师评价到:将Arduino的程序移植到Launchpad上几乎是一件非常简单的事情,有时候甚至不需要任何的更改,只要对端口进行相应的调整即可。总体来说,Launchpad的性价比是非常高的,低功耗,低价格,性能也有保障,可以说是一个Arduino玩家的理想替代选择。LaunchPad非常适合学习和低资源需求的应用。
Galileo(伽利略)开发板 & Edison平台:英特尔嵌入式事业部产品经理王景佳指出,伽利略开发板是基于英特尔架构全新兼容Arduino(接口、开发环境均可与Arduino兼容)的可开发电路板系列的首款产品。此次,Intel展位上来自北京高校的大学生们展示着基于伽利略开发板开发的各种硬件创作成果。基于Quark处理器的伽利略开发板在本次制汇节上可谓大赚眼球。如果说Arduino是创客运动的导火索,那么Edison则是创客运动的新里程。尽管本次没有展出Edison实物,但创客们还是很期待Intel为大家带来更多惊喜。
与此同时,适合创客的其他高级平台还包括: 基于Freescale iMX6 SOLO (1GHz Cortex A9) RIoT Board, 基于Ti Sittara Cortex A8 BeagleBone Black, 基于Atmel Cortex A5 的SAMA5D3-Xplained等等,他们提供更强大的计算性能和更灵活的应用能力。
无一例外,以上谈及的开源硬件均是与Ardurino兼容的智能硬件平台。事实上,从这里我们也能看到Ardurino在创客运动中不可动摇的地位。
事实上,创客们需要的是一个开放、分享的氛围。谁能为他们营造这种氛围,谁才能占据创客硬件市场的领导地位,Ardurino就做到了这一点。对于其他硬件平台而言,打造一个“类Ardurino”经营模式的生态系统是有很多问题亟待解决的,譬如,如何引起创客对新的软硬件平台的关注并选择使用;如何完善软硬件支持;创客们在实现产品创作时是否能拥有跟Ardurino类似的开放、分享平台等等。
不过有挑战才有创新,这是值得赞颂的,因为这才是“创客精神”。对于创客们而言,越多开源硬件平台,他们的选择就越多,创客的群体才会日益壮大。创客文化的精髓——“开放”、“分享”,才会传遍大江南北!创客运动来袭,连接你我他,你准备好了吗?
建议不要用Ardublock,只能做非常简单的arduino程序,类似控制灯亮灯灭的可以用它,稍微复杂点的功能ardublock跟C和Java难度差不多。
建议花点时间学习一下通用的编程语言C/C++和Java,ardublock仅仅只能用在arduino上。
当你学完C/C++或者Java后,你会发现arduino一个小时就可以入门
Arduino编程,目前有几种方式:
一种是使用官方的IDE编程环境,这可以在官方的网站上下载(),目前最新的版本为101,支持Windows,MacOS,Linux *** 作系统那个
如果习惯微软的VisualStudio环境,也有Arduino for Microsoft Visual Studio的插件,(),安装后可以在Visual Studio里面进行Arduino的开发
如果不太喜欢写代码,或者是教小孩子玩Arduino,也有图形化的编程环境,比如Ardublock
以上就是关于arduino编程用的是什么软件全部的内容,包括:arduino编程用的是什么软件、除了Arduino,还有哪些开源硬件、ardublock编的程序稍微多一些就卡怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)