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.
main.cpp@2:53d8e05db3d9, 2020-05-04 (annotated)
- Committer:
- jdeschamps
- Date:
- Mon May 04 13:28:09 2020 +0000
- Revision:
- 2:53d8e05db3d9
- Parent:
- 1:8e1033a40696
- Child:
- 3:fb15a9d24ccf
oui;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dg81 | 0:b5c75bc6000e | 1 | #include "mbed.h" |
dg81 | 0:b5c75bc6000e | 2 | |
jdeschamps | 1:8e1033a40696 | 3 | Serial pc(USBTX, USBRX,9600); // tx, rx sur les broches associées au bus USB |
dg81 | 0:b5c75bc6000e | 4 | DigitalOut led1(LED1); |
jdeschamps | 1:8e1033a40696 | 5 | DigitalOut brka (PTC4); |
jdeschamps | 1:8e1033a40696 | 6 | DigitalOut brkb (PTC12); |
jdeschamps | 1:8e1033a40696 | 7 | DigitalOut dira (PTD3); |
jdeschamps | 1:8e1033a40696 | 8 | DigitalOut dirb (PTD1); |
jdeschamps | 2:53d8e05db3d9 | 9 | DigitalOut pwma (PTD2); |
jdeschamps | 1:8e1033a40696 | 10 | |
jdeschamps | 2:53d8e05db3d9 | 11 | char pas=1; |
jdeschamps | 2:53d8e05db3d9 | 12 | bool sens=0; |
jdeschamps | 2:53d8e05db3d9 | 13 | unsigned int compteur=0; |
jdeschamps | 2:53d8e05db3d9 | 14 | char message[30]; |
dg81 | 0:b5c75bc6000e | 15 | Ticker mon_IT; // on associe l'interface Timeout à l'objet mon_IT |
dg81 | 0:b5c75bc6000e | 16 | |
dg81 | 0:b5c75bc6000e | 17 | void Interruption_timer() { |
dg81 | 0:b5c75bc6000e | 18 | printf("coucou\n"); |
dg81 | 0:b5c75bc6000e | 19 | led1=!led1; |
jdeschamps | 1:8e1033a40696 | 20 | |
jdeschamps | 2:53d8e05db3d9 | 21 | if(sens==0) |
jdeschamps | 2:53d8e05db3d9 | 22 | { |
jdeschamps | 2:53d8e05db3d9 | 23 | pas++; |
jdeschamps | 2:53d8e05db3d9 | 24 | compteur++; |
jdeschamps | 2:53d8e05db3d9 | 25 | if(pas>8)pas=1; |
jdeschamps | 2:53d8e05db3d9 | 26 | } |
jdeschamps | 2:53d8e05db3d9 | 27 | if(sens==1) |
jdeschamps | 2:53d8e05db3d9 | 28 | { |
jdeschamps | 2:53d8e05db3d9 | 29 | pas--; |
jdeschamps | 2:53d8e05db3d9 | 30 | compteur--; |
jdeschamps | 2:53d8e05db3d9 | 31 | if(pas<1)pas=8; |
jdeschamps | 2:53d8e05db3d9 | 32 | } |
jdeschamps | 2:53d8e05db3d9 | 33 | if(compteur<=0){ |
jdeschamps | 2:53d8e05db3d9 | 34 | PWMA_ClrVal(); |
jdeschamps | 2:53d8e05db3d9 | 35 | } |
jdeschamps | 2:53d8e05db3d9 | 36 | switch (pas) |
jdeschamps | 2:53d8e05db3d9 | 37 | { |
jdeschamps | 2:53d8e05db3d9 | 38 | case 1: |
jdeschamps | 2:53d8e05db3d9 | 39 | brka=0; |
jdeschamps | 2:53d8e05db3d9 | 40 | dira=1; |
jdeschamps | 2:53d8e05db3d9 | 41 | brkb=1; |
jdeschamps | 2:53d8e05db3d9 | 42 | dirb=0; |
jdeschamps | 2:53d8e05db3d9 | 43 | break; |
jdeschamps | 2:53d8e05db3d9 | 44 | case 2: |
jdeschamps | 2:53d8e05db3d9 | 45 | brka=0; |
jdeschamps | 2:53d8e05db3d9 | 46 | dira=1; |
jdeschamps | 2:53d8e05db3d9 | 47 | brkb=0; |
jdeschamps | 2:53d8e05db3d9 | 48 | dirb=1; |
jdeschamps | 2:53d8e05db3d9 | 49 | break; |
jdeschamps | 2:53d8e05db3d9 | 50 | case 3: |
jdeschamps | 2:53d8e05db3d9 | 51 | brka=1; |
jdeschamps | 2:53d8e05db3d9 | 52 | dira=0; |
jdeschamps | 2:53d8e05db3d9 | 53 | brkb=0; |
jdeschamps | 2:53d8e05db3d9 | 54 | dirb=1; |
jdeschamps | 2:53d8e05db3d9 | 55 | break; |
jdeschamps | 2:53d8e05db3d9 | 56 | case 4: |
jdeschamps | 2:53d8e05db3d9 | 57 | brka=0; |
jdeschamps | 2:53d8e05db3d9 | 58 | dira=0; |
jdeschamps | 2:53d8e05db3d9 | 59 | brkb=0; |
jdeschamps | 2:53d8e05db3d9 | 60 | dirb=1; |
jdeschamps | 2:53d8e05db3d9 | 61 | break; |
jdeschamps | 2:53d8e05db3d9 | 62 | case 5: |
jdeschamps | 2:53d8e05db3d9 | 63 | brka=0; |
jdeschamps | 2:53d8e05db3d9 | 64 | dira=0; |
jdeschamps | 2:53d8e05db3d9 | 65 | brkb=1; |
jdeschamps | 2:53d8e05db3d9 | 66 | dirb=0; |
jdeschamps | 2:53d8e05db3d9 | 67 | break; |
jdeschamps | 2:53d8e05db3d9 | 68 | case 6: |
jdeschamps | 2:53d8e05db3d9 | 69 | brka=0; |
jdeschamps | 2:53d8e05db3d9 | 70 | dira=0; |
jdeschamps | 2:53d8e05db3d9 | 71 | brkb=0; |
jdeschamps | 2:53d8e05db3d9 | 72 | dirb=0; |
jdeschamps | 2:53d8e05db3d9 | 73 | break; |
jdeschamps | 2:53d8e05db3d9 | 74 | case 7: |
jdeschamps | 2:53d8e05db3d9 | 75 | brka=1; |
jdeschamps | 2:53d8e05db3d9 | 76 | dira=0; |
jdeschamps | 2:53d8e05db3d9 | 77 | brkb=0; |
jdeschamps | 2:53d8e05db3d9 | 78 | dirb=0; |
jdeschamps | 2:53d8e05db3d9 | 79 | break; |
jdeschamps | 2:53d8e05db3d9 | 80 | case 8: |
jdeschamps | 2:53d8e05db3d9 | 81 | brka=0; |
jdeschamps | 2:53d8e05db3d9 | 82 | dira=1; |
jdeschamps | 2:53d8e05db3d9 | 83 | brkb=0; |
jdeschamps | 2:53d8e05db3d9 | 84 | dirb=0; |
jdeschamps | 2:53d8e05db3d9 | 85 | break; |
jdeschamps | 2:53d8e05db3d9 | 86 | default: |
jdeschamps | 2:53d8e05db3d9 | 87 | break; |
jdeschamps | 2:53d8e05db3d9 | 88 | } |
dg81 | 0:b5c75bc6000e | 89 | } |
dg81 | 0:b5c75bc6000e | 90 | |
dg81 | 0:b5c75bc6000e | 91 | int main(void) |
dg81 | 0:b5c75bc6000e | 92 | { |
dg81 | 0:b5c75bc6000e | 93 | mon_IT.attach(&Interruption_timer,0.5); // l'interruption est associée au programme Interruption_timer et s'exécute toutes les 0.5s |
dg81 | 0:b5c75bc6000e | 94 | // pour stopper mon_IT.detach(); |
dg81 | 0:b5c75bc6000e | 95 | while(1) |
jdeschamps | 2:53d8e05db3d9 | 96 | { |
jdeschamps | 2:53d8e05db3d9 | 97 | for(;;){ |
jdeschamps | 2:53d8e05db3d9 | 98 | { |
jdeschamps | 2:53d8e05db3d9 | 99 | Term1_SendStr("Fin de course"); |
jdeschamps | 2:53d8e05db3d9 | 100 | Term1_CRLF(); |
jdeschamps | 2:53d8e05db3d9 | 101 | F=0; |
jdeschamps | 2:53d8e05db3d9 | 102 | } |
jdeschamps | 2:53d8e05db3d9 | 103 | if (Term1_KeyPressed()==1) |
jdeschamps | 2:53d8e05db3d9 | 104 | { |
jdeschamps | 2:53d8e05db3d9 | 105 | Term1_ReadLine(message); |
jdeschamps | 2:53d8e05db3d9 | 106 | if(strcmp(message,"monte_v1")==0) |
jdeschamps | 2:53d8e05db3d9 | 107 | { |
jdeschamps | 2:53d8e05db3d9 | 108 | sens=0; // marche avant |
jdeschamps | 2:53d8e05db3d9 | 109 | pwma=1; |
jdeschamps | 2:53d8e05db3d9 | 110 | TI1_EnableEvent(); |
jdeschamps | 2:53d8e05db3d9 | 111 | } |
jdeschamps | 2:53d8e05db3d9 | 112 | else if(strcmp(message,"descend_v1")==0) |
jdeschamps | 2:53d8e05db3d9 | 113 | { |
jdeschamps | 2:53d8e05db3d9 | 114 | sens=1; // marche arriere |
jdeschamps | 2:53d8e05db3d9 | 115 | pwma=1; |
jdeschamps | 2:53d8e05db3d9 | 116 | TI1_EnableEvent(); |
jdeschamps | 2:53d8e05db3d9 | 117 | } |
jdeschamps | 2:53d8e05db3d9 | 118 | } |
jdeschamps | 2:53d8e05db3d9 | 119 | } |
dg81 | 0:b5c75bc6000e | 120 | } |
dg81 | 0:b5c75bc6000e | 121 | |
dg81 | 0:b5c75bc6000e | 122 |