Arduino语言基础
1、Arduino语言以及程序结构
Ariduino的基本结构主要由两部分组成,一部分为配置或者说初始化部分,另一部分为执行部分。
#include<Arduino.h>
void setup() {
// put your setup code here, to run once(这里代码只运行一次):
}
void loop() {
// put your main code here, to run repeatedly(这里代码不断运行):
}
按照我们使用普通单片机的逻辑来讲,大致就是
#include<reg51.h>
void main(){
LED_INIT(); //setup();
while(1){
LED_LIGHT(); //loop();
}
}
关于为什么Arduino采用这种结构,可以从Arduino的核心库看,Arduino的核心库是各种API(也就是应用程序或者说函数接口),那么就免去了我们自己去写底层驱动的过程,所以,我们直接初始化需要用到的接口,然后直接去写程序使用即可。
当然如果有寄存器编程的基础更好,会更理解单片机运行的机制。
2、Arduino的调试功能
这里参考了单片机菜鸟哥的博客内容
#define MyDebugSerial Serial
//该条语句用于使能DEBUG输出信息,屏蔽掉就不会输出debug调试信息
#define DEBUG
#ifdef DEBUG
#define DBGLN(message) MyDebugSerial.println(message)
#else
#define DBGLN(message)
#endif
void setup() {
MyDebugSerial.begin(9600);
DBGLN("setup end");
}
void loop() {
}
对于这段程序中的 #ifdef
到#endif
其实是C语言里就有的一种用法,通过判断DEBUG
这一部分是否有宏定义,或者直接给值 0/1,来选择是否执行 #ifdef
到#endif
中间的代码。
3、类型和结构
其他的基础语法,同C语言基本一致