quickStepBaseDeTemps()
Cette fonction permet de fixer la base de temps en micro-seconde et par conséquent cela détermine la vitesse maximale des moteurs
quickStepBaseDeTemps(temps);
Paramètres passés
temps
// forme générale: quickStepBaseDeTemps(temps); // valeurs numériques: quickStepBaseDeTemps(100 micro_secondes);
Le temps est un float. Si le timer utilisé est le timer 0 (8 bits), le temps est choisi entre:
- 12µs et 128µs par incrément de 0,5µs
- 128µs et 1ms par incrément de 4µs
- 1ms et 4ms par incrément de 16µs
- 4ms et 16ms par incrément de 64µs
Si le timer utilisé est le timer 2 (8 bits), le temps peut être choisi entre:
- 12µs et 128µs par incrément de 0,5µs
- 128µs et 512µs par incrément de 2µs
- 512µs et 1ms par incrément de 4µs
- 1ms et 2ms par incrément de 8µs
- 2ms et 4ms par incrément de 16µs
- 4ms et 16ms par incrément de 64µs
Si le timer utilisé est un timer 16 bits, le temps peut être choisi entre:
- 12µs et 4ms par incrément de 62,5ns
- 4ms et 32ms par incrément de 0,5µs
- 32ms et 0,26s par incrément de 4µs
- 0,26s et 1s par incrément de 16µs
- 1s et 4s par incrément de 64µs
Le temps à l'initialisation est le temps permettant la vitesse de rotation maximale du moteur le plus exigent parmi ceux dont on a indiqué les vitesses maximales (dans la configuration). Si aucune vitesse maximale n'est renseigné, ce temps est fixé à 1024µs. On peut changer quand on veut de base de temps, de préférence quand aucun moteur ne tourne car l'effet est immédiat.
Plus ce temps est petit, plus on va passer de temps dans les fonctions d'interruptions, mais plus les pas qui ne sont pas des multiples de la base de temps seront réguliers. Par exemple, si le moteur doit avancer d'un pas en moyenne toutes les 1,1ms et que la base de temps est de 1ms, il va y avoir 9 impulsions espacées d'1ms et une de 2ms. Si on choisit la base de temps à 0,1ms, on aura des impulsions régulièrement espacées de 1,1ms.
Si on utilise le timer 0, et que l'on laisse la base de temps sur 1024µs, les fonctions millis(), micros() et delay() fonctionnent encore. Pour 128µs le temps système est 8 fois plus rapide, pour 4096µs le temps systèmes est 4 fois trop lent (par exemple delay(1000) fera un délai de 4s), pour 16384µs le temps est 16 fois trop lent. Pour toutes les autres valeurs, les bits de poids forts temps ne s'incrémentent plus et delay(N) peut valoir un peu n'importe quoi, y compris un temps infini, delay(N) et delay(2*N) peuvent durer le même temps...

Attention la fonction startHorlogeSysteme() remet la base de temps à 1024µs si on utilise le timer 0.
Valeur retournée
Retourne la valeur temps arrondie au plus près avec les valeurs possibles. C'est cette valeur qui sera utilisée.