Codeut1

Dependencies:   mbed

Committer:
gr66
Date:
Sat Nov 07 17:33:42 2020 +0000
Revision:
0:231fb0f5d4de
codeur1

Who changed what in which revision?

UserRevisionLine numberNew 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 }