Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
lib_PwmOutAllPin.h
00001 /** Lib PwmOutAllPin using TimeOut 00002 * 00003 * Copyright (c) 2014, cstyles (http://mbed.org) 00004 * 00005 * Exemple: 00006 * @code 00007 * #include "mbed.h" 00008 * #include "lib_PwmOutAllPin.h" 00009 * 00010 * PwmOutAllPin pin1(p20); 00011 * PwmOutAllPin pin2(p12); 00012 * 00013 * int main() 00014 * { 00015 * pin2.period(0.0002); 00016 * pin2 = 0.25; 00017 * pin1 = 0.5; 00018 * pin1.period_us(20); 00019 * 00020 * while(1) 00021 * { 00022 * wait(0.25); 00023 * } 00024 * } 00025 * @endcode 00026 * @file lib_PwmOutAllPin.h 00027 * @purpose library for PwmOut on all pins 00028 * @date 2015 00029 * @author Yannic Simon 00030 */ 00031 00032 #ifndef DEF_lib_PwmOutAllPin_H 00033 #define DEF_lib_PwmOutAllPin_H 00034 00035 #include "mbed.h" 00036 /** PwmOutAllPin class 00037 */ 00038 class PwmOutAllPin : public Timeout 00039 { 00040 public: 00041 /** Crée un PwmOutAllPin connecté à la pin spécifiée 00042 * @note init period 20ms and duty cycle 0% 00043 * @param pin Pin à connecter 00044 */ 00045 PwmOutAllPin(PinName pin); 00046 /** Fixe le rapport cyclique au pourcentage (float) spécifié 00047 * 00048 * @param value Une valeure floating-point représentant le rapport cyclique, 00049 * spécifié sous la forme d'un pourcentage. La valeur doit être comprise entre 00050 * 0.0f (correspondant à 0%) et 1.0f (correspondant à 100%). 00051 * Les valeurs exterieures à cette plage sont saturées à 0.0f ou 1.0f. 00052 */ 00053 void write(float value); 00054 /** Retourne la valeur courante du rapport cyclique de la sortie, mesurée sous la forme d'un pourcentage (float) 00055 * 00056 * @returns 00057 * Une valeur floating-point représentant la valeur courante du rapport cyclique qui est sur la pin de sortie, 00058 * mesurée sous la forme d'un pourcentage. La valeur doit être comprise entre 00059 * 0.0f (correspondant à 0%) et 1.0f (correspondant à 100%). 00060 */ 00061 float read(void); 00062 /** Fixe la période du PWM, spécifié en secondes (float), garde le même rapport cyclique. 00063 * 00064 * @note 00065 * La résolution est en microsecondes mais les périodes inférieure à 100µs sont imprécises. 00066 */ 00067 void period(float seconds); 00068 /** Fixe la période du PWM, spécifié en millisecondes (int), garde le même rapport cyclique. 00069 */ 00070 void period_ms(int ms); 00071 /** Fixe la période du PWM, spécifié en microsecondes (int), garde le même rapport cyclique. 00072 */ 00073 void period_us(int us); 00074 /** Fixe la largeur d'impulsion du PWM, spécifié en secondes (float), garde la même période. 00075 */ 00076 void pulsewidth(float seconds); 00077 /** Fixe la largeur d'impulsion du PWM, spécifié en millisecondes (int), garde la même période. 00078 */ 00079 void pulsewidth_ms(int ms); 00080 /** Fixe la largeur d'impulsion du PWM, spécifié en microsecondes (int), garde la même période. 00081 */ 00082 void pulsewidth_us(int us); 00083 /** raccourci pour write() 00084 */ 00085 PwmOutAllPin& operator= (float value); 00086 /** raccourci pour effectuer des opperations mathématique avec write() 00087 */ 00088 PwmOutAllPin& operator= (PwmOutAllPin& rhs); 00089 /** raccourci pour read() 00090 */ 00091 operator float(); 00092 00093 protected: 00094 DigitalOut PwmOutPin; 00095 Timeout SwitchPin; 00096 Ticker TickerPeriod; 00097 00098 float Pwm_Duty_Cycle; 00099 int Pwm_period_us; 00100 int TimeDown; 00101 00102 void DigitalUp(void); 00103 void DigitalDown(void); 00104 void UsePwm(void); 00105 }; 00106 00107 #endif
Generated on Tue Jul 12 2022 21:26:04 by
1.7.2