Premier programme

Dependencies:   mbed ssd1306_library

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /*
00002  * Premier programme mbed pour carte Nucleo F303K8
00003  * E. DAVID
00004  */
00005 
00006 #include "mbed.h"
00007 #include "ssd1306.h"
00008 
00009 SSD1306 OLED (I2C_SDA, I2C_SCL); // assumes default I2C address of 0x78
00010 
00011 
00012 Ticker Timer1;
00013 
00014 DigitalOut ledD9(PA_4);
00015 DigitalOut ledD8(PA_5);  
00016 DigitalOut ledD7(PA_6);  
00017 DigitalOut ledD6(PA_7);
00018 
00019 AnalogIn adc_A0(PA_0);
00020 
00021 DigitalIn  SW4_1(PA_1);
00022 DigitalIn  SW4_2(PA_3);
00023 
00024 InterruptIn SW1(PB_4, PullUp); 
00025 
00026 Serial pc(USBTX, USBRX);
00027 
00028 char counter = 0;
00029 
00030 
00031 void Timer_Envoi() {
00032     pc.printf("Envoi Timer \n");
00033 }
00034 
00035 void AppuiSW1() {
00036         ledD6 = 0;
00037         ledD7 = 0;
00038 }
00039 
00040 int main()
00041 {   
00042     pc.baud(115200);
00043     pc.printf("main()\n");
00044     
00045     // Utilisation d'un timer : appel de la fonction Timer_Envoi() toutes les 2s
00046     Timer1.attach(&Timer_Envoi, 2.0);
00047     
00048     OLED.speed (SSD1306::Medium);  // set working frequency
00049     OLED.init();                   // initialize SSD1306
00050     OLED.cls();                    // clear frame buffer
00051     OLED.locate (0,0);             // set text cursor to line 3, column 1
00052     OLED.printf ("GEII"); // print to frame buffer
00053     OLED.redraw();                 // updates actual display transferring frame buffer over I2C bus 
00054     
00055     ledD9 = 1;
00056     ledD8 = 1; 
00057     
00058     // Validation de l'interruption sur un front descendant de SW1
00059     // appel de la routine d'interruption AppuiSW1()
00060     SW1.fall(&AppuiSW1); 
00061     
00062     while (1) {  
00063         OLED.locate (2,0);             
00064         OLED.printf("ADC A0=%2.1f", (adc_A0.read()*100));      
00065         OLED.redraw();  
00066         ledD6 = !ledD6;
00067         wait(2.0);
00068     }
00069 }