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.
Dependencies: mbed
main.cpp@0:1d39bf0af16b, 2018-10-16 (annotated)
- Committer:
- Kurogami
- Date:
- Tue Oct 16 14:03:14 2018 +0000
- Revision:
- 0:1d39bf0af16b
- Child:
- 1:c92ac0a9d3d7
v1;
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| Kurogami | 0:1d39bf0af16b | 1 | /************************************************************/ | 
| Kurogami | 0:1d39bf0af16b | 2 | /* Exemple à destination de APP2 de l'année 2018/2019 */ | 
| Kurogami | 0:1d39bf0af16b | 3 | /* Ne pas diffusé hors de la classe sans accord préalable */ | 
| Kurogami | 0:1d39bf0af16b | 4 | /* Auteur : Thomas LINTANF */ | 
| Kurogami | 0:1d39bf0af16b | 5 | /************************************************************/ | 
| Kurogami | 0:1d39bf0af16b | 6 | |
| Kurogami | 0:1d39bf0af16b | 7 | #include "mbed.h" | 
| Kurogami | 0:1d39bf0af16b | 8 | |
| Kurogami | 0:1d39bf0af16b | 9 | /* Pin assignement */ | 
| Kurogami | 0:1d39bf0af16b | 10 | DigitalIn BP1(PC_13); | 
| Kurogami | 0:1d39bf0af16b | 11 | PwmOut pwm(PA_1); // On definie l'objet pwm qui appartient à la classe PwmOut on met en paramètre la broche de sortie | 
| Kurogami | 0:1d39bf0af16b | 12 | // /!\ Attention : La broche ne doit pas être utiliser ailleur (DigitalOut par exemple) /!\ | 
| Kurogami | 0:1d39bf0af16b | 13 | |
| Kurogami | 0:1d39bf0af16b | 14 | |
| Kurogami | 0:1d39bf0af16b | 15 | int main(void) | 
| Kurogami | 0:1d39bf0af16b | 16 | { | 
| Kurogami | 0:1d39bf0af16b | 17 | |
| Kurogami | 0:1d39bf0af16b | 18 | pwm.period_ms(10); // On régle la période de la PWM, ici en millisecondes rappel P=1/f ici : P=10 ms f=100hz | 
| Kurogami | 0:1d39bf0af16b | 19 | // (periode -> secondes, peridode_ms -> millisecondes et periode_us -> microsecondes) | 
| Kurogami | 0:1d39bf0af16b | 20 | // /!\ Attention : ne définir qu'une seule fois et hors du while(1) /!\ | 
| Kurogami | 0:1d39bf0af16b | 21 | |
| Kurogami | 0:1d39bf0af16b | 22 | pwm.write(0.5); // On initialise le rapport cyclique à 50 %, la méthode write prend un float compri entre 0 et 1 qui | 
| Kurogami | 0:1d39bf0af16b | 23 | // repésente le rapport cyclique. Il exite d'autre méthode pour définir le rapport cyclique en définissant | 
| Kurogami | 0:1d39bf0af16b | 24 | // la durée a l'état haut mais | 
| Kurogami | 0:1d39bf0af16b | 25 | while(1) | 
| Kurogami | 0:1d39bf0af16b | 26 | { | 
| Kurogami | 0:1d39bf0af16b | 27 | if(!BP1) | 
| Kurogami | 0:1d39bf0af16b | 28 | { | 
| Kurogami | 0:1d39bf0af16b | 29 | pwm=pwm.read()+0.1 // ici pwm= **** equivaut à pwm.write( **** ) | 
| Kurogami | 0:1d39bf0af16b | 30 | // pwm.read() renvoie la valeur actuelle du rapport cyclique sous forme d'un entier compri entre 0 et 1 | 
| Kurogami | 0:1d39bf0af16b | 31 | |
| Kurogami | 0:1d39bf0af16b | 32 | if(pwm>=1) // pwm ici et dans un calcule est équivalent à pwm.read() | 
| Kurogami | 0:1d39bf0af16b | 33 | { // Le if ici est pour empécher d'avoir un rapport cyclique supérieur à 100% (physiquement et mathématique | 
| Kurogami | 0:1d39bf0af16b | 34 | pwm=1; // c'est pas possible. Du coup si il y a dépassement on fixe la valeur à 1 -> 100 % | 
| Kurogami | 0:1d39bf0af16b | 35 | } | 
| Kurogami | 0:1d39bf0af16b | 36 | } | 
| Kurogami | 0:1d39bf0af16b | 37 | } | 
| Kurogami | 0:1d39bf0af16b | 38 | } |