Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
Diff: CoderRotatif/Rot.cpp
- Revision:
- 20:f3e8319b7899
- Parent:
- 19:09ad3ca689f3
- Child:
- 23:1d4562f7b639
--- a/CoderRotatif/Rot.cpp Mon Apr 29 16:34:28 2019 +0000 +++ b/CoderRotatif/Rot.cpp Thu May 09 10:06:16 2019 +0000 @@ -1,7 +1,6 @@ #include "Rot.h" -int CR_readPins(void){ - +int CR_readPins(void){ DigitalIn pin1(PA_5); DigitalIn pin2(PB_4); DigitalIn pin3(PB_7); @@ -25,6 +24,10 @@ decimalOutput=decimalOutput+pin2.read(); decimalOutput=decimalOutput<<1; decimalOutput=decimalOutput+pin1.read(); + return decimalOutput; +} + +int CR_position(int decimalOutput){ int position=0; switch(decimalOutput){ //Il faut ensuite transformer ce nombre en une quelque chose de lisible. Les différents cas qui suivent viennent de la documantation du composant. case 127 : @@ -412,7 +415,7 @@ position=127; break; default : - position=0; + position=-999; } return position; } @@ -425,20 +428,21 @@ LCD_DISCO_F429ZI lcdTemp; lcdTemp.Clear(0xFFFFFFFF); DisplayMatrix(0,0,BS_0(),1,LCD_COLOR_BLACK); - DisplayMatrix(50,50,BS_Train(),8,LCD_COLOR_YELLOW); + DisplayMatrix(50,50,BS_Train(),8,LCD_COLOR_RED); DisplayMatrix(100,100,BS_1(),1,LCD_COLOR_YELLOW); DisplayMatrix(150,150,BS_1(),1,LCD_COLOR_YELLOW); - wait(1); + wait(0.2); lcdTemp.Clear(0xFFFFFFFF); BS_displayChiffre(150,150,0,5,LCD_COLOR_BLUE); - wait(1); + wait(0.2); lcdTemp.Clear(0xFFFFFFFF); while(1){ - int selection=CR_donneSelection(CR_readPins()); - BS_displayChiffreClean(150,150,selection,5,LCD_COLOR_BLUE,0xFFFFFFFF); - BS_displayChiffre100Clean(150,50,CR_readPins(),5,LCD_COLOR_BLUE,0xFFFFFFFF); - wait(0.25); + int selection=CR_donneSelection(CR_position(CR_readPins())); + BS_displayChiffreClean(150,150,selection,4,LCD_COLOR_BLUE,0xFFFFFFFF); + BS_displayChiffre100Clean(150,100,CR_position(CR_readPins()),4,LCD_COLOR_BLUE,0xFFFFFFFF); + BS_displayChiffre100Clean(150,50,CR_readPins(),4,LCD_COLOR_BLUE,0xFFFFFFFF); + wait(0.05); } }