Testanto funções Display

Dependencies:   mbed

Revision:
0:d4d4998d71d5
Child:
1:a5ccd53612ea
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Apr 21 14:47:37 2021 +0000
@@ -0,0 +1,96 @@
+// link:
+// https://os.mbed.com/users/davidprentice/code/Nucleo_dir_L152//file/d88d2ad55fac/main.cpp/
+// Committer: davidprentice
+// Date:      19 months ago
+// 2021-04-21
+
+#include "Arduino.h"
+ 
+#include <MCUFRIEND_kbv.h>
+MCUFRIEND_kbv tft;
+ 
+Serial pc(SERIAL_TX, SERIAL_RX);
+ 
+// Assign human-readable names to some common 16-bit color values:
+#define BLACK   0x0000
+#define BLUE    0x001F
+#define RED     0xF800
+#define GREEN   0x07E0
+#define CYAN    0x07FF
+#define MAGENTA 0xF81F
+#define YELLOW  0xFFE0
+#define WHITE   0xFFFF
+#define GRAY    0x8410
+ 
+uint16_t version = MCUFRIEND_KBV_H_;
+ 
+void setup()
+{
+    uint16_t ID = tft.readID(); //
+    pc.printf("\nI have run this on a NUCLEO-F072\n");
+    pc.printf("Please run it on your NUCLEO-L152\n");
+    pc.printf("Found ID = 0x%04X\n", ID);
+    tft.begin(ID);
+}
+ 
+void loop()
+{
+    static uint8_t aspect = 0;
+    const char *aspectname[] = {
+        "PORTRAIT", "LANDSCAPE", "PORTRAIT_REV", "LANDSCAPE_REV"
+    };
+    const char *colorname[] = { "BLUE", "GREEN", "RED", "GRAY" };
+    uint16_t colormask[] = { BLUE, GREEN, RED, GRAY };
+    uint16_t ID = tft.readID(); //
+    tft.setRotation(aspect);
+    int width = tft.width();
+    int height = tft.height();
+    tft.fillScreen(colormask[aspect]);
+    tft.drawRect(0, 0, width, height, WHITE);
+    tft.drawRect(32, 32, width - 64, height - 64, WHITE);
+    tft.setTextSize(2);
+    tft.setTextColor(BLACK);
+    tft.setCursor(40, 40);
+    tft.print("ID=0x");
+    tft.println(ID, HEX);
+    if (ID == 0xD3D3) tft.print(" w/o");
+    tft.setCursor(40, 70);
+    tft.print(aspectname[aspect]);
+    tft.setCursor(40, 100);
+    tft.print(width);
+    tft.print(" x ");
+    tft.print(height);
+    tft.setTextColor(WHITE);
+    tft.setCursor(40, 130);
+    tft.print(colorname[aspect]);
+    tft.setCursor(40, 160);
+    tft.setTextSize(1);
+    tft.print("MCUFRIEND_KBV_H_ = ");
+    tft.print(version);
+    if (++aspect > 3) aspect = 0;
+    delay(5000);
+}
+ 
+uint32_t millis(void)
+{
+    static Timer t;
+    static int first = 1;
+    if (first) first = 0, t.start();
+    return t.read_ms();
+}
+ 
+uint32_t micros(void)
+{
+    static Timer t;
+    static int first = 1;
+    if (first) first = 0, t.start();
+    return t.read_us();
+}
+ 
+void main(void)
+{
+    setup();
+    while (1) {
+        loop();
+    }
+}
\ No newline at end of file