Premier programme
Dependencies: mbed ssd1306_library
main.cpp
- Committer:
- emmanueldavid
- Date:
- 2021-03-15
- Revision:
- 0:6f9bc81b107c
File content as of revision 0:6f9bc81b107c:
/* * Premier programme mbed pour carte Nucleo F303K8 * E. DAVID */ #include "mbed.h" #include "ssd1306.h" SSD1306 OLED (I2C_SDA, I2C_SCL); // assumes default I2C address of 0x78 Ticker Timer1; DigitalOut ledD9(PA_4); DigitalOut ledD8(PA_5); DigitalOut ledD7(PA_6); DigitalOut ledD6(PA_7); AnalogIn adc_A0(PA_0); DigitalIn SW4_1(PA_1); DigitalIn SW4_2(PA_3); InterruptIn SW1(PB_4, PullUp); Serial pc(USBTX, USBRX); char counter = 0; void Timer_Envoi() { pc.printf("Envoi Timer \n"); } void AppuiSW1() { ledD6 = 0; ledD7 = 0; } int main() { pc.baud(115200); pc.printf("main()\n"); // Utilisation d'un timer : appel de la fonction Timer_Envoi() toutes les 2s Timer1.attach(&Timer_Envoi, 2.0); OLED.speed (SSD1306::Medium); // set working frequency OLED.init(); // initialize SSD1306 OLED.cls(); // clear frame buffer OLED.locate (0,0); // set text cursor to line 3, column 1 OLED.printf ("GEII"); // print to frame buffer OLED.redraw(); // updates actual display transferring frame buffer over I2C bus ledD9 = 1; ledD8 = 1; // Validation de l'interruption sur un front descendant de SW1 // appel de la routine d'interruption AppuiSW1() SW1.fall(&AppuiSW1); while (1) { OLED.locate (2,0); OLED.printf("ADC A0=%2.1f", (adc_A0.read()*100)); OLED.redraw(); ledD6 = !ledD6; wait(2.0); } }