###前提・実現したいこと
Arduino UNOで500μsごとに正確にOUTPUTを出力する回路を作っています。
###発生している問題・エラーメッセージ
delay及びdelayMicrosecondsでは誤差が生じるということで、
正確性の高いTimer1を用いようとしたのですが使い方がわからず、
結局数十μsの誤差が生じてしまいます。
(シャープ)include <TimerOne.h>
void setup() {
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3,OUTPUT);
Timer1.initialize(500);
Timer1.attachInterrupt(wakeup);
}
void loop() {
PORTD = PIND | B00001100;
delayMicroseconds(500);
PORTD = PIND & B11110011;
delayMicroseconds(500);
PORTD = PIND | B00001010;
delayMicroseconds(500);
PORTD = PIND & B11110101;
delayMicroseconds(500);
}
void wakeup() {
}
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
16MHzのものを使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/01 05:56