Raynaud Gilles / Mbed 2 deprecated Codeur1

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /**********************************************************************/
00002 /*                                                                    */
00003 /*          Programme de test de l'extension codeur                   */
00004 /*                    pour la carte F446RE                            */
00005 /*                                                                    */
00006 /*               Sylvain CASTANET - Octobre 2019                      */
00007 /*                                                                    */
00008 /*                          ------                                    */
00009 /*                                                                    */
00010 /*  Test des différentes fonctions de la carte  :                     */
00011 /*      - codeur incrémental                                          */
00012 /*      - poussoir du codeur                                          */
00013 /*      - Led                                                         */
00014 /*                                                                    */
00015 /**********************************************************************/
00016 
00017 #include "mbed.h"
00018 //#include "C12832.h"
00019 
00020 // Using Arduino pin notation
00021 //C12832 lcd(D11, D13, D12, D7, D10);
00022 
00023 // Entrées numériques
00024 //InterruptIn CodeurA(PA_15,PullUp);      // Mode PullUp
00025 //DigitalIn CodeurB(PA_14,PullUp);        // Mode PullUp
00026 InterruptIn BP(PC_12,PullUp);           // Mode PullUp
00027 InterruptIn CodeurA(PA_15);  //PB_7
00028 DigitalIn CodeurB(PB_7);   //PA_15
00029 //InterruptIn BP(PC_12);
00030 Serial pc(SERIAL_TX, SERIAL_RX);
00031 
00032 
00033 // Leds
00034 DigitalOut Led(PC_10);
00035 
00036 int counter=0, cnt=0;
00037 int flag=0;
00038 
00039 // Sortie de test
00040 
00041 void flip(){
00042     //__disable_irq();
00043     flag=1;
00044     cnt++;
00045     Led =!Led;
00046             if(CodeurB) {
00047                 counter++;
00048             }
00049             else {
00050                 counter--;
00051             }
00052     //__enable_irq();    
00053 }
00054 
00055 void clignot(){
00056     Led = !Led;
00057     counter=0;
00058 }
00059 
00060 int main()
00061 {
00062 /*    lcd.cls();          // Clear screen
00063     lcd.locate(0,3);    // 1ere ligne
00064     lcd.printf("Essai du module codeur");
00065 */
00066 pc.printf("Hello world \n_r");
00067     Led = 1;
00068     CodeurA.rise(&flip);
00069     BP.fall(&clignot);
00070 
00071     while(1) {
00072         if(flag==1) {
00073 /*            if(CodeurB) {
00074                 counter++;
00075             }
00076             else {
00077                 counter--;
00078             }*/
00079 //            Led =!Led;
00080 //            wait(0.01);
00081             flag=0;
00082             //__disable_irq();
00083             pc.printf("Compteur : %d %d \r\n",counter,cnt);
00084             //__enable_irq();
00085         }
00086 //       lcd.locate(0,15);
00087         
00088 //       wait(0.01);
00089     }
00090 }