dsfa

Dependencies:   dsf SDFileSystem TextLCD mbed stepper_moter

Fork of my_example_Nucleo_Ex05_SD_zhangyuxiang2 by liang brain

Revision:
4:c88bf297ee75
Parent:
3:1e51c10aa4f2
--- a/main.cpp	Thu May 03 10:53:02 2018 +0000
+++ b/main.cpp	Tue May 08 01:50:44 2018 +0000
@@ -1,86 +1,33 @@
 #include "mbed.h"
-#include "TextLCD.h"
-#include "SDFileSystem.h"
+#include "SDRead.h"
+#include "LCDShow.h"
+
+QEI Choose(PB_5,PB_8, NC, 11, QEI::X2_ENCODING);
+InterruptIn btn3(PA_5);
 
 //LCD显示屏  rs,     e,    d4-d7,                    model
-TextLCD lcd(PC_13, PC_14, PC_15, PA_0, PA_1, PA_4, TextLCD::LCD20x4); // rs, e, d4-d7, model  V4版本
-    
-//SD卡          mosi, miso, sclk, cs,    name     用SPI端口
-SDFileSystem sd(PB_15, PB_14, PB_13, PB_12, "sd");                                 
-Serial pc(PA_9, PA_10);                                                         //与电脑通讯的串口
+LCDShow lcd(PC_13, PC_14, PC_15, PA_0, PA_1, PA_4, TextLCD::LCD20x4); // rs, e, d4-d7, model  V4版本  屏幕为4行,每行20字符(列)
+SDRead sd(PB_15, PB_14, PB_13, PB_12, "sd");
 
-int main() {
-    DirHandle *dh = opendir("/sd/");    //读取SD卡中的文件列表
-    if(!dh){
-        pc.printf("opendir error\n");
-        return 1;
-    }
-    dirent *entry;
-    for(;;){
-        entry = dh->readdir();
-        if(!entry)
-            break;
-        pc.printf("%s\r\n", entry->d_name);
-    }
-    dh->closedir();
-    
-    // 写文件例子
-    FILE *fp2 = fopen("/sd/write.txt", "w");
-    if (fp2 == NULL)
+int main()
+{
+    sd.mount();             //加注释!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+    while(1)
     {
-        pc.printf("open error2!!\r\n");
-        return 1;
-    }
-    pc.printf("file opened for write\r\n");
-    fprintf(fp2, "hello\r\n");
-    fprintf(fp2, "%d", 23333);
-    fclose(fp2);  //写完文件要记得关闭,不然可能没保存上
-    
-    // 读文件例子
-    FILE *fp = fopen("/sd/test.txt", "r"); //打开文件,路径以“/sd/”开头
-
-    if (fp == NULL) //打开失败,原因可能是文件不存在,或卡没有连接好
-    {
-        pc.printf("open error!!\r\n");
-        return 1;
+        if(sd.Get_FileDir())        //加注释!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+        {
+            lcd.getDir(sd.File_dir);    //加注释!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+            lcd.showdir();//LCD显示文件目录
+        }
+        if(lcd.Read_file)       //加注释!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+        {
+            if(sd.Read_File(lcd.file_name.data()))
+            {
+                for(int i = 0; i < sd.Info.size(); i++)//sd.Info 就是读取到的文件信息向量
+                {
+                    printf("%s\n",sd.Info[i]);
+                }
+            }
+        }
     }
-    pc.printf("file opened for read\r\n");
-    char buf[64];
-    while (fgets(buf, sizeof(buf), fp) != NULL) //读入一行的C函数
-    {    
-        pc.printf("%s", buf);
-    }
-    fclose(fp);  //关闭文件,释放资源
-    
-    //pc.printf("card type is 0x%x\r\n" , sd.card_type());
-
-    return 0;
-
-
-    lcd.printf("Hello World!");
-    wait_ms(1000); //等待1秒
-    lcd.cls(); //清屏
-    
-    for(int i=0; i<10000; i+=4){
-        lcd.locate(0,0); //分别控制起始的列和行,从0开始
-        lcd.printf("%d", i);
-        wait_ms(1000); //等待1秒
-        
-        lcd.locate(0,1);
-        lcd.printf("%d", i+1);
-        wait_ms(1000);
-        
-        lcd.locate(0,2);
-        lcd.printf("%d", i+2);
-        wait_ms(1000);
-        
-        lcd.locate(0,3);
-        lcd.printf("%d", i+3);
-        wait_ms(1000);
-        
-        lcd.cls(); //清屏
-    }
-
-    
-
-}
+}
\ No newline at end of file