ercircle 发表于 2026-3-20 14:33:27

Kian Cai 发表于 2026-3-20 14:18
引脚未发现冲突,   通过其他例程可以正常烧写文件到25Q64里面。

已修复,重新下载下1L今天代码包。
上次修改工程结构,导致ff.c中printf引用的标准库导致的问题。

ercircle 发表于 2026-3-20 14:33:49

电子创客 发表于 2026-3-20 13:14
我下载例程SDTest-20260130.zip到AI8051U试验箱上面测试,时钟为40M。

怎么不管是发送T5 还是 T6 ,...

已修复,重新下载下1L今天代码包。
上次修改工程结构,导致ff.c中printf引用的标准库导致的问题。

Kian Cai 发表于 2026-3-20 14:38:48

ercircle 发表于 2026-3-20 14:33
已修复,重新下载下1L今天代码包。
上次修改工程结构,导致ff.c中printf引用的标准库导致的问题。



还是不行。

发送→T6
                  
接收←Test:6
                  格式化:3
                  SD_SendCommand:8
                  FF 01 00 00 01 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  SD_SendCommand:9
                  FF 05 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  挂载磁盘失败,3
                  即将重新格式化!
                  SD_SendCommand:8
                  FF 01 00 00 01 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  SD_SendCommand:9
                  FF 05 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  格式化:3
                  SD_SendCommand:8
                  FF 01 00 00 01 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  SD_SendCommand:9
                  FF 05 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  挂载磁盘失败,3
                  即将重新格式化!
                  SD_SendCommand:8
                  FF 01 00 00 01 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  SD_SendCommand:9
                  FF 05 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  格式化:3
                  SD_SendCommand:8
                  FF 01 00 00 01 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  SD_SendCommand:9
                  FF 05 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  挂载磁盘失败,3
                  测试失败.








发送→T5
                  
接收←Test:5
                  格式化:3
                  r=0x00,0x02,0x60
                  ID1=0x16,ID=0x16,ID2=0x16
                  r=0x00,0x02,0x60
                  ID1=0x16,ID=0x16,ID2=0x16
                  挂载磁盘失败,3
                  即将重新格式化!
                  r=0x00,0x02,0x60
                  ID1=0x16,ID=0x16,ID2=0x16
                  r=0x00,0x02,0x60
                  ID1=0x16,ID=0x16,ID2=0x16
                  格式化:3
                  r=0x00,0x02,0x60
                  ID1=0x16,ID=0x16,ID2=0x16
                  r=0x00,0x02,0x60
                  ID1=0x16,ID=0x16,ID2=0x16
                  挂载磁盘失败,3
                  即将重新格式化!
                  r=0x00,0x02,0x60
                  ID1=0x16,ID=0x16,ID2=0x16
                  r=0x00,0x02,0x60
                  ID1=0x16,ID=0x16,ID2=0x16
                  格式化:3
                  r=0x00,0x02,0x60
                  ID1=0x16,ID=0x16,ID2=0x16
                  r=0x00,0x02,0x60
                  ID1=0x16,ID=0x16,ID2=0x16
                  挂载磁盘失败,3
                  测试失败.


ercircle 发表于 2026-3-20 15:12:29

Kian Cai 发表于 2026-3-20 14:38
还是不行。

发送→T6

软件正常噢,检查下硬件
W25Q 16是4MB,而且代码中没适配0x16的,修改这里添加上试下

SD卡看着第二条报文不对,换个卡试下






Kian Cai 发表于 2026-3-20 15:28:45

ercircle 发表于 2026-3-20 15:12
软件正常噢,检查下硬件
W25Q 16是4MB,而且代码中没适配0x16的,修改这里添加上试下



感谢,W25Q64对应的是8M, 我程序里面增加了这个0X16的判断,已经正常了。

   我手里有好几张128M的内存卡都不行,请问一下内存卡规格有要求吗?我重新网上买几张到时候再试下。


发送→T5
                  
接收←Test:5
                  格式化:0
                  f_mount:0
                  已挂载磁盘
                  
接收←File System Information:
                  File System Type: FAT16
                  磁盘扇区: 16256 (512B/S)已使用: 0%
                  
                  重新打开文件并读取文件内容
                  
                  文件内容为: FATFS@AI8051U DEMO
                  
                  创建文件abc.txt
                  写入字符串: "FATFS@AI8051U DEMO"
                  
接收←重新打开文件并读取文件内容
                  
                  文件内容为: FATFS@AI8051U DEMO
                  
                  DEMO END













发送→T6
                  
接收←Test:6
                  格式化:0
                  SD_SendCommand:8
                  FF 01 00 00 01 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  
接收←SD_SendCommand:9
                  FF 00 FF FE 00 5E 00 32 5F 59 83 C9 ED B6 7F 83 96 40 00 65 38 1E FF FF FF FF FF FF FF FF FF FF
                  SDSC卡容量:248320 扇区,c_size:3879,read_bl_len:9,c_size_mult:4
                  SD_SendCommand:9
                  FF 00 FF FE 00 5E 00 32 5F 59 83 C9 ED B6 7F 83 96 40 00 65 38 1E FF FF FF FF FF FF FF FF FF FF
                  SDSC卡容量:248320 扇区,c_size:3879,read_bl_len:9,c_size_mult:4
                  SD卡初始化成功。
                  挂载磁盘失败,13
                  即将重新格式化!
                  SD_SendCommand:8
                  FF 01 00 00 01 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  SD_SendCommand:9
                  FF 05 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  格式化:3
                  SD_SendCommand:8
                  FF 01 00 00 01 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  SD_SendCommand:9
                  FF 05 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  挂载磁盘失败,3
                  即将重新格式化!
                  SD_SendCommand:8
                  FF 01 00 00 01 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  SD_SendCommand:9
                  FF 05 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  格式化:3
                  SD_SendCommand:8
                  FF 01 00 00 01 AA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  SD_SendCommand:9
                  FF 05 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
                  挂载磁盘失败,3
                  测试失败.
                  

Kian Cai 发表于 2026-3-20 15:33:28

发送T6, 能够返回内存卡容量,说明内存卡已经识别到了呀。:SDSC卡容量:248320 扇区,c_size:3879,read_bl_len:9,c_size_mult:4      
通过计算
总容量 = 248320 × 512
= 127,139,840 字节
= 124,160 KB
= 121.25 MB

内存卡正常。



但是无法挂载磁盘,是不是程序还需要优化 某个标识判断。{:4_196:}

ercircle 发表于 2026-3-20 15:57:35

Kian Cai 发表于 2026-3-20 15:33
发送T6, 能够返回内存卡容量,说明内存卡已经识别到了呀。:SDSC卡容量:248320 扇区,c_size:3879,read_ ...


可能定制的卡指令有所差异,我用的这三种卡供你参考

Kian Cai 发表于 2026-3-20 17:42:11

ercircle 发表于 2026-3-20 14:33
已修复,重新下载下1L今天代码包。
上次修改工程结构,导致ff.c中printf引用的标准库导致的问题。



有 没有修改工程之前的文件参考一下吗,就是不使用AiCube架构。越简单越好, 我只需要AI8051试验箱 SD的读写测试程序,W25Q的不需要。{:4_167:}

ercircle 发表于 2026-3-20 17:48:39

Kian Cai 发表于 2026-3-20 17:42
有 没有修改工程之前的文件参考一下吗,就是不使用AiCube架构。越简单越好, 我只需要AI8051试验箱 S ...

一开始就用的AiCube创建噢,别的工程只需要对接下io和spi初始化就行,挑拣下面这些文件



Kian Cai 发表于 2026-3-20 21:50:02

ercircle 发表于 2026-3-20 17:48
一开始就用的AiCube创建噢,别的工程只需要对接下io和spi初始化就行,挑拣下面这些文件




      实际应用里,FatFs 文件系统的文本数据大多存在 SD 卡中,这样客户能把数据导出到电脑做分析。
   
   我在论坛找了两天,本来想偷懒直接找个相关例程用,结果发现所有 FatFs 数据读写例程都是针对 W25Q 的,对我这边的应用没什么参考意义。

   裴工,您这个例程里 W25Q 和 SD 卡的读写都有,功能很全。但我对 fatfs 文件系统理解得不够透,加上代码不是我写的理解起来比较困难,里面 W25Q 和 SD 卡的判断代码相互关联,删掉 W25Q 的代码后编译老是报错。

    想请问您那边有没有 AI8051 试验箱单独的 SD 卡读写例程可以参考下,也就是没有将W25Q程序加进去的 以前的调试例程呢?
页: 1 2 3 4 5 [6] 7
查看完整版本: TF卡,SD卡:【FatFs+SD+W25Q测试】@【Ai8051U】, AiCube