Arduino学习记录(二)

boolean pushButton; // 创建布尔型变量
 
void setup() {
  pinMode(2, INPUT_PULLUP); //将引脚2设置为输入上拉模式
  pinMode(13, OUTPUT);      //将引脚13设置为输出模式
}
 
void loop() {
  pushButton = digitalRead(2); //读取引脚2电平状态并将其赋值给布尔变量
  
  if (pushButton){          //根据布尔变量数值点亮或者熄灭LED
    digitalWrite(13, HIGH); //布尔变量数值为真(true)时点亮LED
  } else {
    digitalWrite(13, LOW);  //布尔变量数值为假(false)时熄灭LED
  }
}

 布尔型变量包含两个值,true or false,根据变量值的真假赋予整型值1或0,可用做标志进行逻辑测试以改变程序流程 pushButton = 0

void loop() {
  pushButton = digitalRead(2); //读取引脚2电平状态并将其赋值给布尔变量
  
  if (!pushButton){          //对布尔变量进行逻辑非运算,并根据运算结构点亮或者熄灭LED
    digitalWrite(13, HIGH); //布尔变量数值为假(false)时点亮LED
  } else {
    digitalWrite(13, LOW);  //布尔变量数值为真(true)时熄灭LED
  }
}

 !(逻辑非运算)当操作数为假时返回真,此时按下按键开关led亮;||(逻辑或运算),任意一个为真时返回真;&&(逻辑与运算),只有两个操作数都为真时才返回为真

void setup() {
  int pinNumber = 3;
  while(pinNumber <= 9){
    pinMode(pinNumber, OUTPUT);
    pinNumber = pinNumber + 1;
  }
}
void loop() {
    int i=1, sum=0;
    do{  
        sum+=i;  
        i++;
    }while(i<=100);   //判断i是否小于等于零
    Serial.print ("sum = ");  //通过串口监视器输出
    Serial.println (sum);     //do-while循环结束后的sum值
    
    delay (5000); // 延迟5秒钟
    
}

while循环的意思是:先计算表达式的值,当值为真(非0)时, 执行循环体语句;执行完循环体语句,再次计算表达式的值,如果为真,继续执行循环体……这个过程会一直重复,直到表达式的值为假(0)才退出循环。do-while循环与while循环使用相同方式工作,不同的是表达式条件是在循环的末尾测试的,所以do-while循环总是至少会运行一次。

if...else语句可以让Arduino判断某一个条件是否达到,并且根据这一判断结果执行相应的程序。

就像if语句,switch…case允许Arduino根据不同的条件运行不同的的程序代码。switch语句通过对一个变量的值与case语句中指定的值进行比较。当一个case语句中的指定值与switch语句中的变量相匹配。就会运行这个case语句下的代码。

通过break关键字,Arduino可以中止并跳出switch语句段,break关键字常常用于每个case语句的最后面。如果没有break语句,switch语句将继续执行下面的表达式(“持续下降”)直

到遇到break,或者是到达switch语句的末尾。

Arduino编程语言虽然没有限制 if else 能够处理的分支数量,但当分支过多时,用 if else 处理会不太方便,而且容易出现 if else 配对出错的情况。

switch (var) {
    case 1:
        //当var等于1时执行这里的程序
        break;
    case 2:
        //当var等于2时执行这里的程序
        break;
    default:
        // 如果var的值与以上case中的值都不匹配
        // 则执行这里的程序
        break;
}

​

自定义函数:声明参数类型(如整数型,浮点数类型),不同参数名称绝对不能相同;void 无返回值,int 返回值类型为整数型

Serial.print("randomNumber = ");
  Serial.println(randomNumber);
  Serial.println("");

通过串口监视器显示,Serial.println()变量, Serial.println("")换行

重新上传程序,串口监视器会显示一样的数字,通过randomSeed(analogRead(A0));修正,调用 analogRead()函数读取一个空引脚,作为随机种子数值(模拟输入)

测试:数码管从0开始显示到9,按下按键开关按键开关数码显示b

数码管作弊

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值