0

arduinoで遊び始めたばかりです。その方法がちょっと気になりdelay(1000)ます。以下は非常に単純なプロジェクトです。デフォルトのループ レートで int i を出力しようとしましたが、ポート 13 に LED がありました。

int led = 13;
int i =0;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT); 
  Serial.begin(9600);
  Serial.println("Hello");  

}

// the loop routine runs over and over again forever:
void loop() {
  i++;
  Serial.println(i);  // wait for a second
  blink(1000); 

}

void blink(int duration){
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(duration);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(duration); 

}

遅延が実際にメソッドの一時停止のように機能することを期待して、実際の点滅コードを独自のメソッドに移動しましたが、印刷も遅くなります。

ループのレートに影響を与えずにライトをあるレートで点滅させる方法はありますか?

4

0 に答える 0