Modifications

Sauter à la navigation Sauter à la recherche
16 octets supprimés ,  8 février 2021 à 21:18
Ligne 113 : Ligne 113 :  
# Revenant sur la configuration du TIM2, nous devons configurer le registres ‘’Prescaler’’ et ‘’Counter Period’’ pour régler la fréquence du signal généré d'après la formule suivante : f_PWM = f_APBx_timer/((PSC+1)*(CounterPeriod+1)). Pour arriver à une fréquence de 50 Hz, nécessaire pour piloter un servomoteur analogique, nous pouvons entrer les valeurs suivantes: [[Fichier:PWM6.png|sans_cadre|centré|300px]]
 
# Revenant sur la configuration du TIM2, nous devons configurer le registres ‘’Prescaler’’ et ‘’Counter Period’’ pour régler la fréquence du signal généré d'après la formule suivante : f_PWM = f_APBx_timer/((PSC+1)*(CounterPeriod+1)). Pour arriver à une fréquence de 50 Hz, nécessaire pour piloter un servomoteur analogique, nous pouvons entrer les valeurs suivantes: [[Fichier:PWM6.png|sans_cadre|centré|300px]]
 
===Programmation===
 
===Programmation===
Accéder au fichier main.c (‘’Core/Src/main.c’’). Ajouter les lignes suivantes pour démarrer la génération du PWM et contrôler son rapport cyclique (entre les balises /* USER CODE 2 */ ).   
+
Accéder au fichier main.c (''Core/Src/main.c''). Ajouter les lignes suivantes pour démarrer la génération du PWM et contrôler son rapport cyclique (entre les balises /* USER CODE 2 */ ).   
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
 
int __io_putchar(int ch)
 
int __io_putchar(int ch)
Ligne 120 : Ligne 120 :  
</syntaxhighlight>
 
</syntaxhighlight>
   −
# Vous pouvez également utiliser la fonction ‘’HAL_TIM_PWM_Stop’’ pour arrêter le signal.
+
# Vous pouvez également utiliser la fonction ''HAL_TIM_PWM_Stop'' pour arrêter le signal.
 
# Le rapport cyclique est égal au rapport CCRx/CounterPeriod. CounterPeriod nous avons fixé, mais nous pouvons changer le registre CCR1. CCR1=10000 règle le rapport à 0.5 ou 50% dans ce cas.
 
# Le rapport cyclique est égal au rapport CCRx/CounterPeriod. CounterPeriod nous avons fixé, mais nous pouvons changer le registre CCR1. CCR1=10000 règle le rapport à 0.5 ou 50% dans ce cas.
 
# Vous pouvez utiliser la ligne suivante pour piloter un servo de 270°. CCR1 = 200*(2.5+deg/27)
 
# Vous pouvez utiliser la ligne suivante pour piloter un servo de 270°. CCR1 = 200*(2.5+deg/27)

Menu de navigation