Premier programme
Dependencies: mbed ssd1306_library
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 }
Generated on Sat Aug 27 2022 17:42:12 by 1.7.2