Время выполнения команды digitalWrite
- Войдите на сайт для отправки комментариев
Чт, 13/07/2017 - 19:21
Приветствую!
Как раcсчитать время выполнения команды, для точного выставления времени delayMicroseconds?
Помнится digitalWrite тормозит из-за высокой прослойки, нужно некая последовательность не длинее 70 ms в цикле loop^а.
плата MEGA
s==10;
v==7;
void loop() {
digitalWrite(s, LOW); //
digitalWrite(v, LOW);
delayMicroseconds(4);
digitalWrite(s, LOW); //
digitalWrite(v, HIGH);
delayMicroseconds(8);
....
}
У вас есть millis() и micros(). вот и меряйте. Сохранили значение millis() в перемнной, сделали вывод на ногу. И еще раз прочитали millis(). Разница и есть длительность операции.
Если Вы ногодрыг задумали, не используйте digitalWrite(). Обращайтесь к портам напрямую, через регистры. Будет быстрей.