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

[复制链接]
889|4
 楼主| 热爱浪漫 发表于 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 库)的错误处理,重试失败写入;确保卡已正确初始化且有足够空间。
波尔街道的松柏 发表于 2025-10-20 11:18 | 显示全部楼层
ATmega2560 SD 卡数据写入不完整,可检查:1. 供电是否稳定,加电容滤波;2. SPI 速率是否过高,降低至合适频率(如 4MHz);3. 写入后调用 sync () 或 flush () 函数确保数据刷新;4. 检查文件系统初始化,使用 FatFs 库时确保正确挂载;5. 排查接线接触不良,加固 SPI 引脚连接。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

168

帖子

0

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