Arduino En Série.print() optimisation

unsigned long current_millis_value = 0;
unsigned long previous_millis_value = 0;
unsigned long m = 0;
unsigned int seconds = 0;
unsigned int minutes = 0;
unsigned int hours = 0;

unsigned long clockTimeStart = 1800000; //30 Minutes
unsigned long currentClockTime;

void loop() {
    current_millis_value = millis();
    currentClockTime -= current_millis_value - previous_millis_value;
    previous_millis_value = current_millis_value;

    minutes = (currentClockTime / 1000 / 60);
    seconds = (currentClockTime / 1000) % 60;
    m = (currentClockTime % 100);

    Serial.print(minutes);
    Serial.print(":");
    Serial.print(seconds);
    Serial.print(":");
    Serial.println(m);
}

Je suis un écart dans le temps entre la série écrit de n'importe où à partir de 9 à 11 ms par ligne série écrite. Est-il un moyen d'optimiser la Serial.print() méthode pour autoriser l'écriture de plusieurs valeurs dans tous les types de temps et les valeurs de Chaîne?

Exemple (ce n'est pas valide, mais le long de la ligne de ce que je pense):

Serial.print(minutes + ":" + seconds + ":" + m);

Je sais que ce n'est pas le JavaScript, je travaille dans - juste à la recherche de possibilités d'optimisation dans le processus d'écriture. Je sais que le MOD peut être coûteux, mais juste en faisant la simple soustraction et de la rédaction de la valeur de currentClockTime me laisse avec un écart de temps de 6 à 7 ms.

Avez-vous chercher à la sortie sur un oscilloscope pour voir quand le fossé se produit? Qui pourrait aider à réduire le problème.

OriginalL'auteur Jeff | 2011-04-04