Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
00001 #include "mbed.h" 00002 #include "TM1637.h" 00003 00004 #include "Font_7Seg.h" 00005 00006 Serial pc(USBTX, USBRX); 00007 DigitalOut myled(LED1); //NOTE: On F401 LED1 is Pin D13, which is SCK! 00008 00009 // DisplayData_t size is 6 bytes (6 Grids @ 8 Segments) 00010 TM1637::DisplayData_t all_str = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; 00011 TM1637::DisplayData_t cls_str = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 00012 TM1637::DisplayData_t hello_str = {C7_H, C7_I, 0x00, 0x00, 0x00, 0x00}; 00013 //TM1637::DisplayData_t cls_str = {0x00, 0x00, 0x00, 0x00}; 00014 //TM1637::DisplayData_t hello_str = {C7_H, C7_I, 0x00, 0x00}; 00015 00016 TM1637::KeyData_t keydata; 00017 00018 //TM1637 TM1637(D4, D5); //F303K8 00019 TM1637_EYEWINK TM1637(D4, D5); //F303K8 00020 00021 00022 void show_menu() { 00023 //pc.printf("0: Exit\n\r"); 00024 pc.printf("1: All\n\r"); 00025 pc.printf("2: Cls\n\r"); 00026 pc.printf("3: Show all segs\r\n"); 00027 pc.printf("s: Timer 20s\r\n"); 00028 } 00029 00030 00031 char cmd, bits; 00032 int main() { 00033 00034 pc.printf("Hello World\r\n"); 00035 00036 TM1637.cls(); 00037 TM1637.setBrightness(TM1637_BRT3); 00038 TM1637.writeData(all_str); 00039 wait(0.5); 00040 TM1637.setBrightness(TM1637_BRT0); 00041 wait(0.5); 00042 TM1637.setBrightness(TM1637_BRT3); 00043 00044 show_menu(); 00045 00046 Timer timer; 00047 00048 while (1) { 00049 cmd = pc.getc(); 00050 00051 switch (cmd) { 00052 case '1': 00053 TM1637.cls(); 00054 TM1637.writeData(all_str); 00055 break; 00056 00057 case '2': 00058 TM1637.cls(); 00059 TM1637.writeData(cls_str); 00060 break; 00061 00062 case '3': 00063 //test to show all segs 00064 pc.printf("Show all segs\r\n"); 00065 wait(1); 00066 TM1637.cls(); 00067 00068 //for (int i=0; i<TM1637_DISPLAY_MEM; i++) { 00069 for (int i=0; i<4; i++) { 00070 for (int bit=0; bit<8; bit++) { 00071 TM1637.cls(); 00072 00073 bits = 0x01 << bit; 00074 TM1637.writeData(bits, i); 00075 00076 pc.printf("Idx = %d, Bits = 0x%02x\r\n", i, bits); 00077 cmd = pc.getc(); // wait for key 00078 } 00079 } 00080 pc.printf("Show all segs done\r\n"); 00081 break; 00082 00083 /* 00084 case '4': 00085 TM1637.cls(); 00086 TM1637.printf("1"); 00087 break; 00088 00089 case '5': 00090 TM1637.cls(); 00091 TM1637.printf(" 1"); 00092 break; 00093 00094 case '6': 00095 TM1637.cls(); 00096 float data = 3.26; 00097 TM1637.printf(" %2.2f", data); 00098 break; 00099 */ 00100 00101 case 's': 00102 timer.reset(); 00103 timer.start(); 00104 while(timer.read() < 20.0f){ 00105 float time = timer.read(); 00106 TM1637.cls(); 00107 if (time < 10.0f){ 00108 TM1637.printf(" %.2f", time); 00109 } 00110 else{ 00111 TM1637.printf("%.2f", time); 00112 } 00113 } 00114 timer.stop(); 00115 wait(1.0f); 00116 TM1637.cls(); 00117 break; 00118 00119 default: 00120 break; 00121 } //switch cmd 00122 00123 myled = !myled; 00124 wait(0.2); 00125 } //while 00126 } 00127 00128
Generated on Wed Jul 13 2022 10:40:27 by
1.7.2