Я пытаюсь укусить данные DMX, и это требует импульсов 4us. Не очень удачно с результатами, я проверяю, насколько хорош Arduino в задержке ... Кажется, это довольно ужасно.
Вот небольшой тест, который я сделал:
unsigned long ptime;
void setup() {
Serial.begin(9600);
}
void loop() {
ptime = micros();
delayMicroseconds(4);
Serial.println(micros() - ptime);
delay(1000); //just to keep the serial monitor from going nuts
}
И результаты:
8 4 8 4 4 4 4 4 8 8 8 8 4 8 8 4 4 8 4 4 4 8 8 8 4 8 4
Я был шокирован, насколько это плохо. Это вдвое больше времени, которое я хотел отложить, но это даже не соответствует тому, где я мог бы просто разделить на 2!
Что я могу сделать, чтобы получить правильные, последовательные результаты?