久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 請問哪位大俠會arduino UNO,能幫忙實現一下暫停功能嗎?下面是基本代碼。 [打印本頁]

作者: 米其林    時間: 2018-10-3 16:47
標題: 請問哪位大俠會arduino UNO,能幫忙實現一下暫停功能嗎?下面是基本代碼。
#include<stdlib.h>
int a=2;
int b=3;
int c=4;
int d=5;
int e=6;
int f=7;
int g=8;
int p=9;
int d4=13;
int d3=12;
int d2=11;
int d1=10;
long n=0;
int x=100;
int del=2000;
const int buttonPin1 = 1;
const int buttonPin2 = 0;
int buttonState1 = 0;
int buttonState2 = 0;
void setup()
{
  pinMode(a,OUTPUT);
  pinMode(b,OUTPUT);
  pinMode(c,OUTPUT);
  pinMode(d,OUTPUT);
  pinMode(e,OUTPUT);
  pinMode(f,OUTPUT);
  pinMode(g,OUTPUT);
  pinMode(p,OUTPUT);
  pinMode(d4,OUTPUT);
  pinMode(d3,OUTPUT);
  pinMode(d2,OUTPUT);
  pinMode(d1,OUTPUT);
  pinMode(buttonPin1,INPUT);
  pinMode(buttonPin2,INPUT);
}
void loop()
{
  buttonState1 = digitalRead(buttonPin1);
  buttonState2 = digitalRead(buttonPin2);

if(buttonState1 == 0){              //復位鍵此處程序開始

  clearLEDs();
  pickDigit(1);
  pickNumber((n/x/600)%10); //(n/x/600)%10
  delayMicroseconds(del);

  clearLEDs();
  pickDigit(2);
  pickNumber((n/x/60)%10); //(n/x/60)%10
  delayMicroseconds(del);                           

  clearLEDs();
  pickDigit(3);
  dispDec(3);
  pickNumber(n/x/10%6); //n/x/10%6
  delayMicroseconds(del);

  clearLEDs();
  pickDigit(4);
  pickNumber(n/x%10); //n/x%10
  delayMicroseconds(del);  
  n++;
  }

else {
      n=0;
}

if(buttonState2 == 1){    //buttonState2作暫停功能


     這里應該怎么寫???




}
}
void pickDigit(int x)
{
  digitalWrite(d1,LOW);
  digitalWrite(d2,LOW);
  digitalWrite(d3,LOW);
  digitalWrite(d4,LOW);

  switch(x)
  {
    case 1:
      digitalWrite(d1,HIGH);
      break;
    case 2:
      digitalWrite(d2,HIGH);
      break;
    case 3:
      digitalWrite(d3,HIGH);
      break;
    default:
      digitalWrite(d4,HIGH);
      break;
  }
}
void pickNumber(int x)
{
  switch(x)
  {
    default:
      zero();
      break;
    case 1:
      one();
      break;
    case 2:
      two();
      break;
    case 3:
      three();
      break;
    case 4:
      four();
      break;
    case 5:
      five();
      break;
    case 6:
      six();
      break;
    case 7:
      seven();
      break;
    case 8:
      eight();
      break;
    case 9:
      nine();
      break;
  }
}
void dispDec(int x)
{
  digitalWrite(p,LOW);
}
void clearLEDs()
{
  digitalWrite(a,HIGH);
  digitalWrite(b,HIGH);
  digitalWrite(c,HIGH);
  digitalWrite(d,HIGH);
  digitalWrite(e,HIGH);
  digitalWrite(f,HIGH);
  digitalWrite(g,HIGH);
  digitalWrite(p,HIGH);
}
void zero()
{
  digitalWrite(a,LOW);
  digitalWrite(b,LOW);
  digitalWrite(c,LOW);
  digitalWrite(d,LOW);
  digitalWrite(e,LOW);
  digitalWrite(f,LOW);
  digitalWrite(g,HIGH);
}
void one()
{
  digitalWrite(a,HIGH);
  digitalWrite(b,LOW);
  digitalWrite(c,LOW);
  digitalWrite(d,HIGH);
  digitalWrite(e,HIGH);
  digitalWrite(f,HIGH);
  digitalWrite(g,HIGH);
}
void two()
{
  digitalWrite(a,LOW);
  digitalWrite(b,LOW);
  digitalWrite(c,HIGH);
  digitalWrite(d,LOW);
  digitalWrite(e,LOW);
  digitalWrite(f,HIGH);
  digitalWrite(g,LOW);
}
void three()
{
  digitalWrite(a,LOW);
  digitalWrite(b,LOW);
  digitalWrite(c,LOW);
  digitalWrite(d,LOW);
  digitalWrite(e,HIGH);
  digitalWrite(f,HIGH);
  digitalWrite(g,LOW);
}
void four()
{
  digitalWrite(a,HIGH);
  digitalWrite(b,LOW);
  digitalWrite(c,LOW);
  digitalWrite(d,HIGH);
  digitalWrite(e,HIGH);
  digitalWrite(f,LOW);
  digitalWrite(g,LOW);
}
void five()
{
  digitalWrite(a,LOW);
  digitalWrite(b,HIGH);
  digitalWrite(c,LOW);
  digitalWrite(d,LOW);
  digitalWrite(e,HIGH);
  digitalWrite(f,LOW);
  digitalWrite(g,LOW);
}
void six()
{
  digitalWrite(a,LOW);
  digitalWrite(b,HIGH);
  digitalWrite(c,LOW);
  digitalWrite(d,LOW);
  digitalWrite(e,LOW);
  digitalWrite(f,LOW);
  digitalWrite(g,LOW);
}
void seven()
{
  digitalWrite(a,LOW);
  digitalWrite(b,LOW);
  digitalWrite(c,LOW);
  digitalWrite(d,HIGH);
  digitalWrite(e,HIGH);
  digitalWrite(f,HIGH);
  digitalWrite(g,HIGH);
}
void eight()
{
  digitalWrite(a,LOW);
  digitalWrite(b,LOW);
  digitalWrite(c,LOW);
  digitalWrite(d,LOW);
  digitalWrite(e,LOW);
  digitalWrite(f,LOW);
  digitalWrite(g,LOW);
}
void nine()
{
  digitalWrite(a,LOW);
  digitalWrite(b,LOW);
  digitalWrite(c,LOW);
  digitalWrite(d,LOW);
  digitalWrite(e,HIGH);
  digitalWrite(f,LOW);
  digitalWrite(g,LOW);  
}



作者: cccc888    時間: 2018-10-3 18:34
沒看懂這是要做什么

作者: 米其林    時間: 2018-10-3 21:41
cccc888 發表于 2018-10-3 18:34
沒看懂這是要做什么

這代碼是arduino 實現秒表的功能,但就是缺少一個暫停的控制功能。
作者: devcang    時間: 2018-10-3 21:51
//簡單地,如果這樣實現

boolean bPause=false;
void loop(){
    buttonState1 = digitalRead(buttonPin1);
    buttonState2 = digitalRead(buttonPin2);

    if(buttonState2 == 1){    //buttonState2作暫停功能。按一次暫停、再按繼續
        bPause=~bPause;
    }

    if(bPause==true){    //如果bPause,則返回
        return;
    }

    if(buttonState1 == 0){              //復位鍵此處程序開始
        clearLEDs();
        pickDigit(1);
        pickNumber((n/x/600)%10); //(n/x/600)%10
        delayMicroseconds(del);

        clearLEDs();
        pickDigit(2);
        pickNumber((n/x/60)%10); //(n/x/60)%10
        delayMicroseconds(del);                           

        clearLEDs();
        pickDigit(3);
        dispDec(3);
        pickNumber(n/x/10%6); //n/x/10%6
        delayMicroseconds(del);

        clearLEDs();
        pickDigit(4);
        pickNumber(n/x%10); //n/x%10
        delayMicroseconds(del);  
        n++;
    }else {
        n=0;
    }

}







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人做爰www免费看 午夜精品久久久久久久久久久久 | av日韩精品| 欧洲视频一区二区 | 国产成人jvid在线播放 | 99视频 | 亚洲国产一区二区三区四区 | 久久综合一区二区三区 | 成人久久18免费网站麻豆 | 国产美女一区二区 | 丁香久久 | 一区二区av在线 | 亚洲成人免费观看 | 久久精品国产一区二区电影 | 亚洲 欧美 日韩 精品 | 国产一区二区三区四区三区四 | 免费看国产a | 久久人人国产 | 久久最新 | 日韩欧美在线不卡 | 亚洲一区二区三区在线 | 日韩在线不卡 | 国产69精品久久99不卡免费版 | 久久久久无码国产精品一区 | 国产电影一区二区三区爱妃记 | 国产成人精品一区二区 | 日韩在线观看视频一区 | 国产欧美视频一区二区 | 欧美精品第一区 | 亚洲高清视频一区二区 | 激情在线视频网站 | 免费一区 | 操人视频在线观看 | 91中文字幕在线观看 | 国产综合精品一区二区三区 | 亚洲美女网站 | 成年人视频在线免费观看 | 欧产日产国产精品视频 | 人人干人人舔 | 精品区一区二区 | 欧美精品影院 | 亚洲国产精品一区二区www |