ĐỒNG Ý. Vì vậy, tôi đã thử lib SDFat. Thư viện này chắc chắn tốt hơn thư viện SD mặc định đi kèm với adruino. Nhưng đó không phải là cách tôi giải quyết vấn đề tốc độ dữ liệu thấp.
Tôi đã làm theo hướng dẫn của tác giả của thư viện SDFat từ bài đăng này .
Theo fat16lib , để tăng tốc độ dữ liệu, chúng ta cần sử dụng flush () một cách khôn ngoan. Chúng tôi muốn viết () dữ liệu trong mỗi chu kỳ, nhưng chúng tôi chỉ cần xóa () cứ sau 100 chu kỳ hoặc tùy thuộc vào lượng dữ liệu được ghi trong mỗi chu kỳ. Ngoài ra, hãy đảm bảo giữ cờ trong SD.open () là 'O_WRITE | O_CREAT 'thay vì' FILE_WRITE '.
Điều này chắc chắn tăng tốc độ bởi một yếu tố tuyệt vời. Nhưng tôi cần nhiều hơn thế!
Lưu trữ dữ liệu trong hệ nhị phân ( xem blog này ) đã cải thiện hiệu suất hơn nữa.
Tốc độ hiện tại của tôi là khoảng 100-120 KBps (tức là kilo byte) với thẻ SD loại 4!
Cuối cùng, tôi muốn cảm ơn các bạn đã giúp đỡ.