![]() |
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 |