
Gửi bởi
huanpt
Em mới tham gia lớp học arduino dành cho trẻ em và các cụ ông.
Em muốn đọc nội dung từ file text, từng dòng từng dòng, mà đọc mãi chẳng thấy hàm nào readln cả. Em thuộc nhóm cao tuổi, lười nghĩ mẹo nên lên đây hỏi trước.
Cụ CKD giúp với, em làm mẹo cũng được, nhưng dự là sẽ test ra được 1 đống lỗi (em đang làm QA :-s)
Chưa thử nhưng với cái ex từ arduino.cc thì nó đọc từ từ.
Mã:
/*
SD card read/write
This example shows how to read and write data to and from an SD card file
The circuit:
* SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4
created Nov 2010
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe
This example code is in the public domain.
*/
#include <SPI.h>
#include <SD.h>
File myFile;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
myFile = SD.open("test.txt", FILE_WRITE);
// if the file opened okay, write to it:
if (myFile) {
Serial.print("Writing to test.txt...");
myFile.println("testing 1, 2, 3.");
// close the file:
myFile.close();
Serial.println("done.");
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
// re-open the file for reading:
myFile = SD.open("test.txt");
if (myFile) {
Serial.println("test.txt:");
// read from the file until there's nothing else in it:
while (myFile.available()) {
Serial.write(myFile.read());
}
// close the file:
myFile.close();
} else {
// if the file didn't open, print an error:
Serial.println("error opening test.txt");
}
}
void loop() {
// nothing happens after setup
}
https://www.arduino.cc/en/Tutorial/ReadWrite
Mã:
while (myFile.available()) {
Serial.write(myFile.read());
}
Chưa làm qua, nhung có 2 giả thuyết.
1. Mỗi lần nó đọc 1 byte. Vậy muốn biết nó hết 1 dòng chưa thì phải dò ký tự return.
2. Nếu mỗi lần nó đọc 1 dòng thì quá tuyệt rồi.