[以太网/USB/其他总线] ATmega2560 SD 卡数据写入不完整的解决

[复制链接]
838|3
 楼主| 热爱浪漫 发表于 2025-7-23 18:58 | 显示全部楼层 |阅读模式
#include <SD.h>

File myFile;

void setup() {
    Serial.begin(9600);
    if(!SD.begin(10)) {
        Serial.println("SD卡初始化失败!");
        return;
    }
}

void loop() {
    myFile = SD.open("data.txt", FILE_WRITE);
   
    if(myFile) {
        myFile.println("Hello, world!");
        myFile.println(millis());
        
        // 关键!提交缓冲区数据到SD卡
        myFile.flush();
        myFile.close();
        
        Serial.println("数据写入成功");
    } else {
        Serial.println("无法打开文件");
    }
   
    delay(1000);
}
caigang13 发表于 2025-7-23 20:20 来自手机 | 显示全部楼层
用的什么接口的SD卡?串口?
yiyigirl2014 发表于 2025-7-27 10:14 | 显示全部楼层
SD卡用的是什么接口
灰色与青 发表于 2025-9-22 17:16 | 显示全部楼层
ATmega2560 SD 卡数据写入不完整,可检查 SPI 通信速率是否过高(降低至 4MHz 以下);确保写入后调用 sync () 函数刷新缓存;检查供电稳定性,避免写入时掉电;使用文件操作库(如 SD 库)的错误处理,重试失败写入;确保卡已正确初始化且有足够空间。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

133

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部