Mon programme à chaque instant du passage à zéro (zéro Cross) incrémente le timer3 avec prescale 128 elle effectue plusieurs pas puis il allume la LED puis l'etteindre au zéro cross
puisque une pas pour 32/128 correspond à 1.01 ms donc une demi-periode ca sera environ 10 pas et une période environ 20 pas
Le probléme c'est que lorsque je teste en réel le microcontroleur sur une valeur 7 pas par exemple "if ( pas >=7) " je voit clignotement non désirable Mais lorsque je teste avec la valeur 17 par exemple if (pas>=17) je voit l'éclairage parfait de la Led avec environ 30% /20% de luminosité .
et c'est le méme cas pour les valeur entre 10 et 20 c'est parfait et les valeurs entre 0 et 10 ce qui n'est pas logique puisque le prescale est à 32MHZ/128 !!!
**code au niveau interruption zéro Cross:
// avec la permutation front montant et front descendant bien sure
{
Timer3InitStart ();
HAL_TURN_OFF_LED1();
}
**code au niveau interruption overFlow timer3:
{
pas++;
Timer3InitStart ();
if ( pas >= 7 )
{
Timer3Stop();
pas = 0;
HAL_TURN_ON_LED1();
} }
j'ai pas trouver une explication logique il doit fonctionner avec le test if(pas>=7) pour doonner le comportement qui se fait dans (pas<=17)
-----