点击返回Arduino-SD库页面
available
描述
available() 函数可用于检查设备是否接收到数据。该函数将会返回等待读取的数据字节数。
available()函数属于Stream类。该函数可被Stream类的子类所使用,如(Serial, WiFiClient, File 等)。
详情可查看太极创客Stream教程
语法
file.available()
参数
file:File实例化对象(由SD.open()
返回)
返回值
等待读取的数据字节数。
返回值数据类型:int
太极创客
www.taichi-maker.com
示例程序
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 |
/********************************************************************** 程序名称/Program name : SD_File_available 团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com) 作者/Author : Dapenson 日期/Date(YYYYMMDD) : 2020/06/18 程序目的/Purpose : 演示如何使用available函数读取文件信息并最后返回文件名称 ----------------------------------------------------------------------- 修订历史/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()); } // 关闭文件打开状态 myFile.close(); // 向串口打印文件名称 Serial.print(String("") + "file name = " + myFile.name()); } else { //如果文件没有打开,则向串口输出文件打开错误 Serial.println("error opening example.md"); } } void loop() { } |