趣小组
[ MAKE ]
首页
节点
分享
创造
问与答
二手交易
编程
电子
树莓派
Arduino
手工
小玩意
ACG 二次元
科学
文化
电影
宠物
旅行
技术支持
登录
注册
首页
Arduino
求助!arduino nano无法读取TF卡
xlzawa
•
2024-07-24
•
697 次点击
arduino nano读不出来TF卡怎么解决 程序 ``` #include <SPI.h> #include <SD.h> // 设置SD卡的芯片选择引脚 const int chipSelect = 4; // 创建SD卡对象 Sd2Card card; SdVolume volume; SdFile root; void setup() { // 初始化串口通信 Serial.begin(9600); while (!Serial) { ; // 等待串口连接 } Serial.println("正在初始化SD卡"); // 设置硬件SS引脚为输出模式 pinMode(4, OUTPUT); // 初始化SD卡 if (!card.init(SPI_HALF_SPEED, chipSelect)) { Serial.println("初始化失败。请检查以下事项:"); Serial.println("* 是否插入了卡片?"); Serial.println("* 接线是否正确?"); Serial.println("* 是否更改了芯片选择引脚以匹配您的卡盾或模块?"); return; } else { Serial.println("接线正确,且卡片已存在。"); } // 打印SD卡类型 Serial.print("\n卡片类型:"); switch (card.type()) { case SD_CARD_TYPE_SD1: Serial.println("SD1"); break; case SD_CARD_TYPE_SD2: Serial.println("SD2"); break; case SD_CARD_TYPE_SDHC: Serial.println("SDHC"); break; default: Serial.println("未知"); } // 尝试初始化卷 if (!volume.init(card)) { Serial.println("无法找到FAT16/FAT32分区。"); Serial.println("请确保您已经格式化了卡片"); return; } // 打印卷类型和大小 uint32_t volumesize; Serial.print("\n卷类型是FAT"); Serial.println(volume.fatType(), DEC); volumesize = volume.blocksPerCluster(); // 簇是块的集合 volumesize *= volume.clusterCount(); // 我们有很多簇 volumesize *= 512; // SD卡块总是512字节 Serial.print("卷大小(字节):"); Serial.println(volumesize); Serial.print("卷大小(千字节):"); volumesize /= 1024; Serial.println(volumesize); Serial.print("卷大小(兆字节):"); volumesize /= 1024; Serial.println(volumesize); // 打开根目录 root.openRoot(volume); // 列出SD卡中的所有文件 Serial.println("\n卡片上找到的文件(名称,日期和大小,单位字节):"); root.ls(LS_R | LS_DATE | LS_SIZE); } void loop() { // 循环中不需要做任何事情 } ``` arduino IDE2.1.1输出 正在初始化SD卡 初始化失败。请检查以下事项: 是否插入了卡片? 接线是否正确? 是否更改了芯片选择引脚以匹配您的卡盾或模块? SD.h和SPI.h库用的是IDE自带的库 连接: sd nano vcc 3v3 gnd gnd cs d4 sck d13 mosi d11 miso d12 128MBTF卡在电脑和手机上能读出来,用win10系统格式化为FAT和FAT32,都读不出来 1GBTF卡同上,也读不出来 TF模块使用HW-125模块 arduino nano使用的是京东登仕唐工业品旗舰店的板子,杜邦线也检查了没问题 尝试过能找到的所有方法都没有成功
arduino nano读不出来TF卡怎么解决
程序
```
#include <SPI.h>
#include <SD.h>
// 设置SD卡的芯片选择引脚
const int chipSelect = 4;
// 创建SD卡对象
Sd2Card card;
SdVolume volume;
SdFile root;
void setup() {
// 初始化串口通信
Serial.begin(9600);
while (!Serial) {
; // 等待串口连接
}
Serial.println("正在初始化SD卡");
// 设置硬件SS引脚为输出模式
pinMode(4, OUTPUT);
// 初始化SD卡
if (!card.init(SPI_HALF_SPEED, chipSelect)) {
Serial.println("初始化失败。请检查以下事项:");
Serial.println("* 是否插入了卡片?");
Serial.println("* 接线是否正确?");
Serial.println("* 是否更改了芯片选择引脚以匹配您的卡盾或模块?");
return;
} else {
Serial.println("接线正确,且卡片已存在。");
}
// 打印SD卡类型
Serial.print("\n卡片类型:");
switch (card.type()) {
case SD_CARD_TYPE_SD1:
Serial.println("SD1");
break;
case SD_CARD_TYPE_SD2:
Serial.println("SD2");
break;
case SD_CARD_TYPE_SDHC:
Serial.println("SDHC");
break;
default:
Serial.println("未知");
}
// 尝试初始化卷
if (!volume.init(card)) {
Serial.println("无法找到FAT16/FAT32分区。");
Serial.println("请确保您已经格式化了卡片");
return;
}
// 打印卷类型和大小
uint32_t volumesize;
Serial.print("\n卷类型是FAT");
Serial.println(volume.fatType(), DEC);
volumesize = volume.blocksPerCluster(); // 簇是块的集合
volumesize *= volume.clusterCount(); // 我们有很多簇
volumesize *= 512; // SD卡块总是512字节
Serial.print("卷大小(字节):");
Serial.println(volumesize);
Serial.print("卷大小(千字节):");
volumesize /= 1024;
Serial.println(volumesize);
Serial.print("卷大小(兆字节):");
volumesize /= 1024;
Serial.println(volumesize);
// 打开根目录
root.openRoot(volume);
// 列出SD卡中的所有文件
Serial.println("\n卡片上找到的文件(名称,日期和大小,单位字节):");
root.ls(LS_R | LS_DATE | LS_SIZE);
}
void loop() {
// 循环中不需要做任何事情
}
```
arduino IDE2.1.1输出
正在初始化SD卡
初始化失败。请检查以下事项:
是否插入了卡片?
接线是否正确?
是否更改了芯片选择引脚以匹配您的卡盾或模块?
SD.h和SPI.h库用的是IDE自带的库
连接:
sd nano
vcc 3v3
gnd gnd
cs d4
sck d13
mosi d11
miso d12
128MBTF卡在电脑和手机上能读出来,用win10系统格式化为FAT和FAT32,都读不出来
1GBTF卡同上,也读不出来
TF模块使用HW-125模块
arduino nano使用的是京东登仕唐工业品旗舰店的板子,杜邦线也检查了没问题
尝试过能找到的所有方法都没有成功
收藏
♥ 感谢
Spoony
小组长
2024-07-30
这个还得看 SD 卡模块的例程来调试,可能是接线问题或者模块本身故障。
登录
或
注册
后可回复。
›
Arduino 制造
›
Arduino 实验室
›
Arduino 官网
›
Adafruit
› 相关内容关注微信公众号