To read a file

From ThaiEasyElecWiki
Jump to: navigation, search

To read a file from SD card, you will need one of these 2 functions:

unsigned long sd_read_to_mem(unsigned char *address,char *rd_file)
unsigned long sd_read_to_mem2(unsigned char *address,char *file_path)

They simply read a file and write data into memory pointed by "address" and return the actual read size. So you will need to prepare that memory with sufficient size first.

For example, you want to read a file named "config.txt" with size less than a kilobyte into memory. A minimum of 1KB byte array is needed to be created. You will just need code below:

unsigned char buf[1024];
unsigned long sz;
sz = sd_read_to_mem2(buf,"config.txt");

Difference between "rd_file" and "file_path": "rd_file" is used when the target file is in the current directory, while "file_path" is used wherever the current directory is as it locates the full path of the target file from root. For example, if the target file is in folder "config", then it's full path is "config/config.txt".


การอ่านไฟล์จาก SD card ให้เลือกใช้ฟังก์ฺชั่นอันใดอันหนึ่งในสองฟังก์ชั่นนี้

unsigned long sd_read_to_mem(unsigned char *address,char *rd_file)
unsigned long sd_read_to_mem2(unsigned char *address,char *file_path)

ฟังก์ชั่นทั้งสองนี้จะอ่านไฟล์และเขียนข้อมูลลงในหน่วยความจำที่ชี้ไว้โดยตัวแปร "address" และจะส่งคืนค่าเป็นขนาดของไฟล์ที่อ่านได้จริง ดังนั้นจะเห็นว่าเราต้องจองหน่วยความจำไว้ให้เพียงพอก่อน

ตัวอย่างเช่น ถ้าต้องการจะอ่านไฟล์ "config.txt" โดยเรารู้ว่าขนาดไฟล์ไม่เกิน 1 กิโลไบต์ ดังนั้นเราต้องตั้งตัวแปรขนาดอย่างน้อย 1KB ไว้ แล้วใช้คำสั่งดังนี้

unsigned char buf[1024];
unsigned long sz;
sz = sd_read_to_mem2(buf,"config.txt");

ความแตกต่างระหว่าง "rd_file" กับ "file_path" ก็คือ "rd_file" จะใช้เมื่อไฟล์ที่เราต้องการอ่าน อยู่ใน directory ปัจจุบันแล้ว เช่น ถ้าไฟล์อยู่ใน root อยู่แล้ว และเราก็อยู่ใน root ด้วย ก็สามารถอ้างชื่อได้เลย แต่ "file_path" จะเป็น path เต็มๆ เช่นถ้าไฟล์ที่ต้องการอ่านอยู่ในแฟ้ม "config" ดังนั้น path ของมันก็คือ "config/config.txt"

Personal tools
Namespaces
Variants
Actions
Navigation
Articles and Tutorials
Shortcut (mini SUN7)
Toolbox