//单行注释
/*
  要注释的代码
  要注释的代码
*/

/*
  1.变量(在程序运行过程中,其值可以发生改变的量)
  数据类型 变量名; int a;
  数据类型 变量名 = 变量值: int a = 5;
  2.常量(在程序运行过程中,其值不可以发生改变的量)
  宏定义:#define 常量名 常量值  #define red 7
  const 数据类型 常量名 常量值:const int a = 3;
*/

/*
  驼峰命名法:
    大驼峰(所有单词首字母大写-UserName)
    小驼峰(第一个单词首字母小写,其余首字母大写-userName)
    串式命名法:单词之间用“-”隔开-user-name
    蛇式命名法:单词之间用“_”隔开-user_name
*/
/*
  算数运算
  比较运算符:> < >= <= == !=
  逻辑运算符:&&(与运算)、||(或运算)、!(非运算)
  复合运算符:++(自增1)、--(自减1)、+=(a+=b 相当于 a=a+b)、-=

*/
#define red 7
#define btn 5

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);

  pinMode(red, OUTPUT);
  pinMode(btn, INPUT_PULLUP);

  Serial.print("你好");
  Serial.println("hello world");

  //int a = 12
  //int b = a % 3
  //Serial.println(b);

  int a = 5 ;
  int time1 = 0;
  a++; //相当于a=a+1
  Serial.println(a);
  int b = 6 ;
  if (!(a > 3 || b < 5)) {
    Serial.println("成立");

  }

}
/*
  1.用到一个运算符
  2.用到电平读取的方法 digitalRead(引脚号)
  3.灯的控制
  4.按下按钮为低电平,松开为高电平
*/
int flag = 0;
void loop() {
  //需求,按键按一下,灯亮一秒熄灭
  /*if(digitalRead(btn) == 1){
    digitalWrite(red, HIGH);
    delay(150);
    digitalWrite(red, LOW);

    }
    }
  */
  /*int flag = 0;
    void loop() {
    // put your main code here, to run repeatedly:
    if (digitalRead(3)==1){
    if(digitalRead(flag)==0);
    digitalWrite(7, HIGH);
    if(digitalRead(flag)==1);
    digitalWrite(7, LOW);
    }
  */
  //手电筒
  if (digitalRead(5) == 1) {
    if (flag == 0) {
      digitalWrite(7, HIGH);
      flag = 1;
    } else {


      digitalWrite(7, LOW);
      flag = 0;
    }
    delay(200);//消抖
  }
}

/*time1 = millis();
  if(time1 - time2 >1000){
  digitalWrite(red,HIGH);

  time2=time1
  }
  delay(1000);
  digitalWrite(red, LOW);
*/