点击返回Arduino-SD库页面
position
描述
获取当前读写处于文件中的位置
(即: 下一个字节将被读取或写入的位置)。
可以理解为当您在编辑word文件时,光标在当前文件所处的位置(www.taichi-maker.com)
语法
file.position()
参数
file:File实例化对象(由SD.open()
返回)
返回值
返回值类型:unsigned long
返回当前读取或写入时在文件中的位置
示例程序
太极创客
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
/********************************************************************** 程序名称/Program name : SD_File_position 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : Dapenson 日期/Date(YYYYMMDD) : 2020/06/20 程序目的/Purpose : 演示如何将SD卡内的文件信息进行读取并通过串口进行打印, 同时将当前读写状态在文件中的位置进行打印 ----------------------------------------------------------------------- 修订历史/Revision History 日期/Date 作者/Author 参考号/Ref 修订说明/Revision Description ----------------------------------------------------------------------- 其它说明: ***********************************************************************/ #include <SPI.h> #include <SD.h> // 创建File实例化对象 File myFile; void setup() { // 初始化硬件串口并设置波特率为9600 Serial.begin(9600); while (!Serial) { ; //等待串口打开 } Serial.print("Initializing SD card..."); // 检测是否初始化完成 if (!SD.begin()) { Serial.println("initialization failed!"); return; } Serial.println("initialization done."); // 查看是否存在"example"文件 if (SD.exists("example.md")) { Serial.println("example.md exists."); } else { Serial.println("example.md doesn't exist."); } // 打开example文件 myFile = SD.open("example.md"); if (myFile) { Serial.println("example.md:"); //从文件里读取数据并打印到串口,直到读取完成 while (myFile.available()) { Serial.write(myFile.read()); // 读取文件的同时,还将范围当前读取的位置 Serial.println(String("") + " position : " + myFile.position()); } // 关闭文件打开状态 myFile.close(); // 向串口打印文件名称 Serial.print(String("") + "file name = " + myFile.name()); } else { //如果文件没有打开,则向串口输出文件打开错误 Serial.println("error opening example.md"); } } void loop() { } |