1935|0

57

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

用作U盘的SD卡写部分数据后出错,为什么? [复制链接]


    我在2440的开发板上使用SD卡用作U盘,在我的电脑上可以看到<可移动磁盘>,也可以读写文件,但经常写一部分就出错,比如同时写200多个文件,写了几十个或100多个文件时(已经写进去的文件是好的,可以用读卡器读到),就出现错误。
    程序仿真出现如下的情况:
           
            wt_cnt=0x00;
        while(wt_cnt<512*block)
        {
                status=rSDIFSTA;
                if((status&0x2000)==0x2000)
                {
                        dat = *Rx_buffer++<<24;
                        dat = dat|*Rx_buffer++<<16;
                        dat = dat|*Rx_buffer++<<8;
                        dat = dat|*Rx_buffer++;
                        rSDIDAT = dat;
                        wt_cnt = wt_cnt + 4;
                        status = rSDIFSTA;
                }
        }
       

0x5a000000  00000011 00000003 00084400 00000259
0x5a000010  00000019 00000900 31202020 10E7C037
0x5a000020  D5008C27 007FFFFF 00000200 00133040
0x5a000030  00000000 00000010 00000040 00000000
0x5a000040  00000000 00000000 00000000 00000000

出现的情况:写0x40个数据块时,SDIDCNT(0X5A000030)已经计数到0,SDIDSTA(0x5a000034)也检测
            到数据结束,但是wt_cnt只计数到0x00004040(40个数据块应该为0x00008000),然后就
            在这进行死循环,不知为什么wt_cnt没有计数到0x00008000?
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
【干货上新】电源解决方案和技术第二趴 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 15

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表