You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

microSDHC卡CMD25多块写入时返回无效字节的原因及含义

microSDHC卡SPI驱动CMD25多块写入异常排查求助

我正在用C语言编写基于SPI通信的microSDHC卡低阶驱动,目前已完成卡初始化、单块读写、多块读取操作(块大小512字节),但执行CMD25(WRITE_MULTIPLE_BLOCK)多块写入时遇到异常:

  • 卡对CMD25的响应正常,返回0x00表示处于READY状态
  • 发送起始数据令牌0xFE后,卡会立即回显该令牌值;后续数据传输期间,卡周期性返回随机的非0xFF字节,而非预期的全程返回0xFF

补充细节

  • CMD25命令帧:[0x40 | 25, 0x00, 0x00, 0x00, 0x00, 0x01],指定从扇区0开始执行多块写入
  • 数据块发送流程:发送0xFE起始令牌后,紧接着发送514字节的0xA5(包含512字节数据块+16位CRC,卡不校验该CRC)
  • 硬件与存储卡:使用金士顿32GB microSDHC卡,其规格书明确支持CMD25命令
  • 正常参考:单块写入CMD24(WRITE_BLOCK)工作完全正常,已通过读取对应块验证写入正确性

跟踪记录说明

  • CMD25异常场景:发送CMD25后卡返回0x00;发送0xFE令牌后卡立即返回0xFE;数据传输过程中周期性出现随机非0xFF字节,每次运行的字节值不同,但开头必有卡返回的0xFE
  • CMD24正常场景:发送CMD24后卡返回0x00;发送0xFE令牌后卡返回0xFF;整个数据传输阶段卡持续返回0xFF,无异常字节

希望得到关于这些异常字节的原因分析,以及具体的排查方向建议。

内容的提问来源于stack exchange,提问作者David V.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 17:46:34