1.程序结构
2.变量:局部变量和全局变量
3.调用Arduino的函数
4.通过点亮led,IO设置为输出模式,学习pinMode()和digitalWrite()
5.按键开关,IO设置为输入模式
6.初识赋值运算符和逻辑运算符,和布尔类型,逻辑控制
——————————————————————————
1.用店小二的一天工作来举例
当开发板通电或复位后,执行一遍setup。loop函数会循环执行。
2.变量的作用域,局部变量和全局变量
int onTIME=1000;//全局变量
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
int time= 1000;//局部变量
onTIME=onTIME+1000;
digitalWrite(LED_BUILTIN, HIGH); // 灯点亮
delay(1000); // 持续1000ms
digitalWrite(LED_BUILTIN, LOW); // 灯熄灭
delay(time); // 持续time=1000ms
}
3.函数调用,下面是一些Arduino自带的函数,可以直接调用,只需要遵守函数定义即可。
void loop()
{
pinMode(ledPin, OUTPUT); // 引脚13设置为输出模式
digitalWrite(13, HIGH); // 引脚13输出高电平
digitalWrite(13, LOW); // 引脚13输出低电平
delay(1000); // 等待一秒钟(1000毫秒)
delayMicroseconds(10000); // 等待10000微秒
}
4.点亮led的原理,硬件led的正极连接在13脚上,负极通过电阻接地。
如下图,要将led点亮,需要先将引脚设置为输出OUTPUT模式,然后进行高低电平的设置。
void setup()
{
pinMode(13, OUTPUT); // 引脚13设置为输出模式
}
void loop()
{
digitalWrite(13, HIGH); // 引脚13输出高电平
delay(1000); // 等待一秒钟(1000毫秒)
digitalWrite(13, LOW); // 引脚13输出低电平
delay(1000); // 等待一秒钟(1000毫秒)
}
5.学习串口和IO输入模式
void setup()
{
pinMode(13, OUTPUT); // 引脚13设置为输出模式
}
void loop()
{
digitalWrite(13, HIGH); // 引脚13输出高电平
delay(1000); // 等待一秒钟(1000毫秒)
digitalWrite(13, LOW); // 引脚13输出低电平
delay(1000); // 等待一秒钟(1000毫秒)
}
6.初识赋值运算符和逻辑运算符,和布尔类型,逻辑控制
=是赋值运算符
==是关系运算符
//通过2脚的高低电平来实现3脚高低电平的控制(控制led亮灭)
void setup()
{
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);//2脚设置为上拉模式
pinMode(13, OUTPUT);//3脚设置为输出模式
}
void loop()
{
int buttonState = digitalRead(2);//读取2脚电平,赋值给变量buttonState
Serial.println(buttonState);//串口打印变量buttonState的值
if(buttonState==HIGH)//如果2脚高电平,按钮没按下
{
delay(100)//延时消抖
if(buttonState==HIGH)//如果2脚高电平,按钮没按下
{
digitalWrite(13,LOW)//led熄灭
}
else //2脚不是高电平,按钮按下
{
digitalWrite(13,HIGH)//led点亮
}
}
}
//通过2脚的高低电平来实现3脚高低电平的控制(控制led亮灭)
bool buttonState
void setup()
{
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);//2脚设置为上拉模式
pinMode(13, OUTPUT);//3脚设置为输出模式
}
void loop()
{
buttonState = digitalRead(2);//读取2脚电平,赋值给变量buttonState
//2脚设置为上拉模式,默认为高电平
//不按按键,2为高电平;按下按键,2为低电平
//不按按键,buttonState为1;按下按键,buttonState为0
Serial.println(buttonState);//串口打印变量buttonState的值
if(buttonState)//如果2脚为真
{
delay(100) //延时消抖
if(buttonState) //如果2脚为真,不按按键
{
digitalWrite(13,LOW) //led熄灭
}
else //2脚为非真,按按键
{
digitalWrite(13,HIGH) //led点亮
}
}
}