およそ58kHzの信号が出力されました。(Arduino UNO R3)
実は公式サンプル(WebArchive)にもこの問題があるのですが、ここでは周期を短くすることでより問題を目立たせています。
const int outPin = 2;
void setup() {
pinMode(outPin, OUTPUT);
}
void loop() {
// 100kHzの信号を出力
for (;;) {
// (1s)/(100*10^3)は10マイクロ秒だってGoogleが言ってた
// delayMicrosecondsは3マイクロ秒以上なら正確ってリファレンスに書いてあった
// 10マイクロ秒を2で割って5マイクロ秒ずつウェイトを入れる
digitalWrite(outPin, HIGH);
delayMicroseconds(5);
digitalWrite(outPin, LOW);
delayMicroseconds(5);
}
}
まだコメントがありません。最初にコメントを残しませんか?