![]() |
SysIo
1.9.0
Embedded Library and tools
|
Ce module fournit les fonctions permettant de contrôler des broches de sorties PWM.
Ce module utilise le réglage "mark-space ratio", c'est à dire que "value" correspond au nombre de cycles d'horloge à l'état haut alors que "range" correspond à la période du signal généré en nombre de cycles d'horloge.
Functions | |
bool | bPwmIsOpen (xPwm *pwm) |
Indique si la broche est ouverte. More... | |
bool | bPwmIsRunning (xPwm *pwm) |
Indique si la génération du signal est démarrée. More... | |
double | dPwmClockFreq (void) |
Fréquence d'horloge actuelle. More... | |
double | dPwmFreq (int iDiv) |
Valeur de fréquence d'horloge correspondant à un diviseur. More... | |
int | iPwmClockDiv (void) |
Diviseur d'horloge actuel. More... | |
int | iPwmClose (xPwm *pwm) |
Fermeture d'une broche PWM. More... | |
int | iPwmDivisor (double dFreq) |
Valeur de diviseur correspondant à une fréquence d'horloge. More... | |
int | iPwmRange (xPwm *pwm) |
Période du signal PWM. More... | |
int | iPwmRun (xPwm *pwm) |
Démarrage de la génération du signal PWM. More... | |
int | iPwmSetClockDiv (int iDiv) |
Modification du diviseur d'horloge. More... | |
int | iPwmSetClockFreq (double dFreq) |
Modification de la fréquence d'horloge. More... | |
int | iPwmSetRange (int range, xPwm *pwm) |
Régle la période du signal PWM. More... | |
int | iPwmSetValue (int value, xPwm *pwm) |
Régle la largeur d'impulsion du signal PWM. More... | |
int | iPwmStop (xPwm *pwm) |
Arrêt de la génération du signal PWM. More... | |
int | iPwmValue (xPwm *pwm) |
Largeur d'implusion du signal PWM. More... | |
xPwm * | xPwmOpen (int iPin) |
Ouverture d'une broche PWM. More... | |
Typedefs | |
typedef struct xPwm | xPwm |
Port de sortie PWM. More... | |
bool bPwmIsOpen | ( | xPwm * | pwm | ) |
#include <pwm.h>
Indique si la broche est ouverte.
pwm | le pointeur sur la broche |
bool bPwmIsRunning | ( | xPwm * | pwm | ) |
#include <pwm.h>
Indique si la génération du signal est démarrée.
pwm | le pointeur sur la broche |
double dPwmClockFreq | ( | void | ) |
#include <pwm.h>
Fréquence d'horloge actuelle.
Cette lecture ne peut être effectuée que si au moins une broche PWM est ouverte.
double dPwmFreq | ( | int | iDiv | ) |
#include <pwm.h>
Valeur de fréquence d'horloge correspondant à un diviseur.
Un appel avec la valeur 1 permet de connaitre la fréquence de l'horloge "mère"
iDiv | valeur du diviseur |
int iPwmClockDiv | ( | void | ) |
#include <pwm.h>
Diviseur d'horloge actuel.
Cette lecture ne peut être effectuée que si au moins une broche PWM est ouverte.
int iPwmClose | ( | xPwm * | pwm | ) |
#include <pwm.h>
Fermeture d'une broche PWM.
pwm | le pointeur sur la broche |
int iPwmDivisor | ( | double | dFreq | ) |
#include <pwm.h>
Valeur de diviseur correspondant à une fréquence d'horloge.
Les fréquences d'horloges sont réglées grâce à un facteur de division qui est appliqué à une horloge "mère".
Du fait que ce diviseur est un nombre entier, les fréquences d'horloge ne peuvent être réglés qu'approximativement.
dFreq | fréquence d'horloge |
int iPwmRange | ( | xPwm * | pwm | ) |
#include <pwm.h>
Période du signal PWM.
pwm | le pointeur sur la broche |
int iPwmRun | ( | xPwm * | pwm | ) |
#include <pwm.h>
Démarrage de la génération du signal PWM.
Les caractéristiques du signal généré sont modifiés à l'aide des fonctions iPwmSetRange(), iPwmSetValue() et iPwmSetClockDiv()
pwm | le pointeur sur la broche |
int iPwmSetClockDiv | ( | int | iDiv | ) |
#include <pwm.h>
Modification du diviseur d'horloge.
Ce réglage ne peut être effectué que si au moins une broche PWM est ouverte. Le réglage est commun à toutes les broches PWM. Le nombre de valeurs disponibles dépend de l'architecture, la valeur est ajustée si elle dépasse les bornes (un avertissement est alors affiché)
iDiv | valeur du diviseur |
int iPwmSetClockFreq | ( | double | dFreq | ) |
#include <pwm.h>
Modification de la fréquence d'horloge.
Ce réglage ne peut être effectué que si au moins une broche PWM est ouverte. Le réglage est commun à toutes les broches PWM. Le nombre de valeurs disponibles dépend de l'architecture, la valeur est ajustée si elle dépasse les bornes (un avertissement est alors affiché)
dFreq | fréquence d'horloge |
int iPwmSetRange | ( | int | range, |
xPwm * | pwm | ||
) |
#include <pwm.h>
Régle la période du signal PWM.
range | période du signal en nombre de cycles d'horloge |
pwm | le pointeur sur la broche |
int iPwmSetValue | ( | int | value, |
xPwm * | pwm | ||
) |
#include <pwm.h>
Régle la largeur d'impulsion du signal PWM.
value | plargeur d'impulsion en nombre de cycles d'horloge |
pwm | le pointeur sur la broche |
int iPwmStop | ( | xPwm * | pwm | ) |
#include <pwm.h>
Arrêt de la génération du signal PWM.
Les réglages de la broche ne sont pas modifiés
pwm | le pointeur sur la broche |
int iPwmValue | ( | xPwm * | pwm | ) |
#include <pwm.h>
Largeur d'implusion du signal PWM.
pwm | le pointeur sur la broche |
xPwm* xPwmOpen | ( | int | iPin | ) |
#include <pwm.h>
Ouverture d'une broche PWM.
iPin | le numéro de la broche |