Codeut1

Dependencies:   mbed

main.cpp

Committer:
gr66
Date:
2020-11-07
Revision:
0:231fb0f5d4de

File content as of revision 0:231fb0f5d4de:

/**********************************************************************/
/*                                                                    */
/*          Programme de test de l'extension codeur                   */
/*                    pour la carte F446RE                            */
/*                                                                    */
/*               Sylvain CASTANET - Octobre 2019                      */
/*                                                                    */
/*                          ------                                    */
/*                                                                    */
/*  Test des différentes fonctions de la carte  :                     */
/*      - codeur incrémental                                          */
/*      - poussoir du codeur                                          */
/*      - Led                                                         */
/*                                                                    */
/**********************************************************************/

#include "mbed.h"
//#include "C12832.h"

// Using Arduino pin notation
//C12832 lcd(D11, D13, D12, D7, D10);

// Entrées numériques
//InterruptIn CodeurA(PA_15,PullUp);      // Mode PullUp
//DigitalIn CodeurB(PA_14,PullUp);        // Mode PullUp
InterruptIn BP(PC_12,PullUp);           // Mode PullUp
InterruptIn CodeurA(PA_15);  //PB_7
DigitalIn CodeurB(PB_7);   //PA_15
//InterruptIn BP(PC_12);
Serial pc(SERIAL_TX, SERIAL_RX);


// Leds
DigitalOut Led(PC_10);

int counter=0, cnt=0;
int flag=0;

// Sortie de test

void flip(){
    //__disable_irq();
    flag=1;
    cnt++;
    Led =!Led;
            if(CodeurB) {
                counter++;
            }
            else {
                counter--;
            }
    //__enable_irq();    
}

void clignot(){
    Led = !Led;
    counter=0;
}

int main()
{
/*    lcd.cls();          // Clear screen
    lcd.locate(0,3);    // 1ere ligne
    lcd.printf("Essai du module codeur");
*/
pc.printf("Hello world \n_r");
    Led = 1;
    CodeurA.rise(&flip);
    BP.fall(&clignot);

    while(1) {
        if(flag==1) {
/*            if(CodeurB) {
                counter++;
            }
            else {
                counter--;
            }*/
//            Led =!Led;
//            wait(0.01);
            flag=0;
            //__disable_irq();
            pc.printf("Compteur : %d %d \r\n",counter,cnt);
            //__enable_irq();
        }
//       lcd.locate(0,15);
        
//       wait(0.01);
    }
}