Raynaud Gilles
/
Codeur1
Codeut1
main.cpp@0:231fb0f5d4de, 2020-11-07 (annotated)
- Committer:
- gr66
- Date:
- Sat Nov 07 17:33:42 2020 +0000
- Revision:
- 0:231fb0f5d4de
codeur1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gr66 | 0:231fb0f5d4de | 1 | /**********************************************************************/ |
gr66 | 0:231fb0f5d4de | 2 | /* */ |
gr66 | 0:231fb0f5d4de | 3 | /* Programme de test de l'extension codeur */ |
gr66 | 0:231fb0f5d4de | 4 | /* pour la carte F446RE */ |
gr66 | 0:231fb0f5d4de | 5 | /* */ |
gr66 | 0:231fb0f5d4de | 6 | /* Sylvain CASTANET - Octobre 2019 */ |
gr66 | 0:231fb0f5d4de | 7 | /* */ |
gr66 | 0:231fb0f5d4de | 8 | /* ------ */ |
gr66 | 0:231fb0f5d4de | 9 | /* */ |
gr66 | 0:231fb0f5d4de | 10 | /* Test des différentes fonctions de la carte : */ |
gr66 | 0:231fb0f5d4de | 11 | /* - codeur incrémental */ |
gr66 | 0:231fb0f5d4de | 12 | /* - poussoir du codeur */ |
gr66 | 0:231fb0f5d4de | 13 | /* - Led */ |
gr66 | 0:231fb0f5d4de | 14 | /* */ |
gr66 | 0:231fb0f5d4de | 15 | /**********************************************************************/ |
gr66 | 0:231fb0f5d4de | 16 | |
gr66 | 0:231fb0f5d4de | 17 | #include "mbed.h" |
gr66 | 0:231fb0f5d4de | 18 | //#include "C12832.h" |
gr66 | 0:231fb0f5d4de | 19 | |
gr66 | 0:231fb0f5d4de | 20 | // Using Arduino pin notation |
gr66 | 0:231fb0f5d4de | 21 | //C12832 lcd(D11, D13, D12, D7, D10); |
gr66 | 0:231fb0f5d4de | 22 | |
gr66 | 0:231fb0f5d4de | 23 | // Entrées numériques |
gr66 | 0:231fb0f5d4de | 24 | //InterruptIn CodeurA(PA_15,PullUp); // Mode PullUp |
gr66 | 0:231fb0f5d4de | 25 | //DigitalIn CodeurB(PA_14,PullUp); // Mode PullUp |
gr66 | 0:231fb0f5d4de | 26 | InterruptIn BP(PC_12,PullUp); // Mode PullUp |
gr66 | 0:231fb0f5d4de | 27 | InterruptIn CodeurA(PA_15); //PB_7 |
gr66 | 0:231fb0f5d4de | 28 | DigitalIn CodeurB(PB_7); //PA_15 |
gr66 | 0:231fb0f5d4de | 29 | //InterruptIn BP(PC_12); |
gr66 | 0:231fb0f5d4de | 30 | Serial pc(SERIAL_TX, SERIAL_RX); |
gr66 | 0:231fb0f5d4de | 31 | |
gr66 | 0:231fb0f5d4de | 32 | |
gr66 | 0:231fb0f5d4de | 33 | // Leds |
gr66 | 0:231fb0f5d4de | 34 | DigitalOut Led(PC_10); |
gr66 | 0:231fb0f5d4de | 35 | |
gr66 | 0:231fb0f5d4de | 36 | int counter=0, cnt=0; |
gr66 | 0:231fb0f5d4de | 37 | int flag=0; |
gr66 | 0:231fb0f5d4de | 38 | |
gr66 | 0:231fb0f5d4de | 39 | // Sortie de test |
gr66 | 0:231fb0f5d4de | 40 | |
gr66 | 0:231fb0f5d4de | 41 | void flip(){ |
gr66 | 0:231fb0f5d4de | 42 | //__disable_irq(); |
gr66 | 0:231fb0f5d4de | 43 | flag=1; |
gr66 | 0:231fb0f5d4de | 44 | cnt++; |
gr66 | 0:231fb0f5d4de | 45 | Led =!Led; |
gr66 | 0:231fb0f5d4de | 46 | if(CodeurB) { |
gr66 | 0:231fb0f5d4de | 47 | counter++; |
gr66 | 0:231fb0f5d4de | 48 | } |
gr66 | 0:231fb0f5d4de | 49 | else { |
gr66 | 0:231fb0f5d4de | 50 | counter--; |
gr66 | 0:231fb0f5d4de | 51 | } |
gr66 | 0:231fb0f5d4de | 52 | //__enable_irq(); |
gr66 | 0:231fb0f5d4de | 53 | } |
gr66 | 0:231fb0f5d4de | 54 | |
gr66 | 0:231fb0f5d4de | 55 | void clignot(){ |
gr66 | 0:231fb0f5d4de | 56 | Led = !Led; |
gr66 | 0:231fb0f5d4de | 57 | counter=0; |
gr66 | 0:231fb0f5d4de | 58 | } |
gr66 | 0:231fb0f5d4de | 59 | |
gr66 | 0:231fb0f5d4de | 60 | int main() |
gr66 | 0:231fb0f5d4de | 61 | { |
gr66 | 0:231fb0f5d4de | 62 | /* lcd.cls(); // Clear screen |
gr66 | 0:231fb0f5d4de | 63 | lcd.locate(0,3); // 1ere ligne |
gr66 | 0:231fb0f5d4de | 64 | lcd.printf("Essai du module codeur"); |
gr66 | 0:231fb0f5d4de | 65 | */ |
gr66 | 0:231fb0f5d4de | 66 | pc.printf("Hello world \n_r"); |
gr66 | 0:231fb0f5d4de | 67 | Led = 1; |
gr66 | 0:231fb0f5d4de | 68 | CodeurA.rise(&flip); |
gr66 | 0:231fb0f5d4de | 69 | BP.fall(&clignot); |
gr66 | 0:231fb0f5d4de | 70 | |
gr66 | 0:231fb0f5d4de | 71 | while(1) { |
gr66 | 0:231fb0f5d4de | 72 | if(flag==1) { |
gr66 | 0:231fb0f5d4de | 73 | /* if(CodeurB) { |
gr66 | 0:231fb0f5d4de | 74 | counter++; |
gr66 | 0:231fb0f5d4de | 75 | } |
gr66 | 0:231fb0f5d4de | 76 | else { |
gr66 | 0:231fb0f5d4de | 77 | counter--; |
gr66 | 0:231fb0f5d4de | 78 | }*/ |
gr66 | 0:231fb0f5d4de | 79 | // Led =!Led; |
gr66 | 0:231fb0f5d4de | 80 | // wait(0.01); |
gr66 | 0:231fb0f5d4de | 81 | flag=0; |
gr66 | 0:231fb0f5d4de | 82 | //__disable_irq(); |
gr66 | 0:231fb0f5d4de | 83 | pc.printf("Compteur : %d %d \r\n",counter,cnt); |
gr66 | 0:231fb0f5d4de | 84 | //__enable_irq(); |
gr66 | 0:231fb0f5d4de | 85 | } |
gr66 | 0:231fb0f5d4de | 86 | // lcd.locate(0,15); |
gr66 | 0:231fb0f5d4de | 87 | |
gr66 | 0:231fb0f5d4de | 88 | // wait(0.01); |
gr66 | 0:231fb0f5d4de | 89 | } |
gr66 | 0:231fb0f5d4de | 90 | } |