delayMicroseconds()
パラメータとして指定された時間(マイクロ秒単位)の間、プログラムを一時停止します。 ミリ秒で1000マイクロ秒、1秒で100マイクロ秒があります。
書式
void delayMicroseconds(uint32 us)
所与のマイクロ秒数の間、遅延します。
割り込みなどにより、実際のマイクロ秒数が当社を超過する可能性があります。 しかし、この関数は呼び出された時からマイクロセカンド秒を返します。
引数
us :遅延するマイクロ秒数
利用例
次の例では、ピン番号8が出力ピンとして機能するように設定し、およそ100マイクロ秒の周期のパルス列を送信します。
code:sample.ino
int outPin = 8;
void setup() {
pinMode(outPin, OUTPUT); // sets the digital pin as output
}
void loop() {
digitalWrite(outPin, HIGH); // sets the pin on
delayMicroseconds(50); // pauses for 50 microseconds
digitalWrite(outPin, LOW); // sets the pin off
delayMicroseconds(50); // pauses for 50 microseconds
}
警告と既知の問題
delayMicroseconds()の最長の遅延時間は、引数の型とSTM32のクロックレートによって(2 ^ 32 - 1)/ 12マイクロ秒、または6分未満に制限されます。 長いポーズの場合、delay()の使用が可能です。 Arduinoとの互換性
delayMicroseconds()のタイミングができるだけ正確であることを確実にするために努力してきましたが、マイクロ秒以下のArduino実装、特に小さな値の動作を保証することはできません。
関連項目
このドキュメントはleafLabs, LLC.が執筆し、たま吉が翻訳・一部加筆修正したものです。