PWM

( IUT de Cachan - Version 12/2011 )
Les fonctions disponibles :
void pwm_init(unsigned char period, char nb_canaux);
///////////////////////////////////////////////////////////////////////////////
// Nom de fonction : pwm_init
// Valeur de retour : aucune
// Paramètres : unsigned char period
// fréquence de fonctionnement f = (3e6 / (period+1))
// pour Fosc = 48 MHz
// exemple : si period=150, f~20kHz
// char nb_canaux
// choix du nombre de canaux PWM (1 ou 2)
// 1 -> seule la broche C2 est une sortie PWM
// 2 -> les broches C2 et C1 sont des sorties PWM
// Description : configuration de la fréquence et du nombre de canaux
///////////////////////////////////////////////////////////////////////////////
Initialisation des sorties PWM.
Cette fonction permet d'utiliser 1 ou 2 sorties PWM en fixant nb_canaux et de régler la fréquence de fonctionnement f = (3e6 / (period+1)) pour Fosc = 48 MHz
void pwm_setdc1(unsigned int cycles_etat_haut);
///////////////////////////////////////////////////////////////////////////////
// Nom de fonction : pwm_setdc1
// Valeur de retour : aucune
// Paramètres : unsigned int cycles_etat_haut
// nombre de cycles à l'état haut codé sur 10 bits
// 1 cycle de period <=> 4 cycles de cycles_etat_haut
// rapport cyclique ~ cycles_etat_haut / (4 * period)
// exemple : si period=150, f~20kHz
// cycles_etat_haut - Rapport cyclique
// 0 - 0
// 150 - 0.25
// 300 - 0.5
// 600 - 1
// Description : réglage du rapport cyclique du canal PWM1 (broche C2)
///////////////////////////////////////////////////////////////////////////////
Réglage du rapport cyclique de PWM1 (broche C2)
Exemples de valeurs du rapport cyclique en fonction de la valeur choisie pour period avec la fonction pwm_init :
cycles_etat_haut Rapport cyclique
0 0
period 0.25 2 * period
0.5 4 * period 1
void pwm_setdc2(unsigned int cycles_etat_haut);
///////////////////////////////////////////////////////////////////////////////
// Nom de fonction : pwm_setdc2
// Valeur de retour : aucune
// Paramètres : unsigned int cycles_etat_haut
// nombre de cycles à l'état haut codé sur 10 bits
// 1 cycle de period <=> 4 cycles de cycles_etat_haut
// rapport cyclique ~ cycles_etat_haut / (4 * period)
// Description : réglage du rapport cyclique du canal PWM2 (broche C1)
///////////////////////////////////////////////////////////////////////////////
Réglage du rapport cyclique de PWM2 (broche C1)
Broche |
Canal PWM |
C2 | PWM1 |
C1 | PWM2 |
Pour plus d'informations, consultez p18f4550_39632e.pdf §15