Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
10 years, 1 month ago.
Lチカの点滅間隔のムラについて。
次のプログラムでLチカの点滅間隔を測定してみました。
- include "mbed.h"
DigitalOut myled(LED1);
Timer t;
int main() {
myled = 1;
while(1) {
t.start();
float a=t.read();
myled = !myled;
wait(0.2);
float b=t.read()-a;
printf("Time: %f seconds\n", b); ←★
t.stop(); }
}
これを動かしてみると明らかに点滅にムラがあり、★でprintfされている数字も、0.12秒 0.20秒の間で変動していました
この次に上のプログラムでt.stop();の次に
b=t.read()-a;
printf("Time: %f seconds\n", b);
の2つを付け足して、printfにかかる時間もモニターしてみたところ、 ★でprintfされている点滅間隔が0.199秒 0.20秒の間となり、さきほどより点滅間隔の変動が起こらなくなりました。
最初のプログラムでかなりの変動が起こってしまった原因は何でしょうか。 また、後のプログラムで点滅がましになったのはなででしょうか。