J'essaie de mordre des données DMX et cela nécessite des impulsions 4us. N'ayant pas beaucoup de chance avec les résultats, je vérifie pour voir à quel point l'Arduino est capable de retarder ... Semble être assez terrible.
Voici un petit test rapide que j'ai fait:
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
}
Et les résultats:
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
J'ai été un peu choqué de voir à quel point sa précision est mauvaise. C'est le double du temps que je voulais retarder, mais ce n'est même pas cohérent avec l'endroit où je pouvais diviser par 2!
Puis-je faire quelque chose pour obtenir des résultats corrects et cohérents?