OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6919|回复: 2

写sd卡遇到一个很奇怪的问题……

[复制链接]

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2012-9-23
在线时间
1 小时
发表于 2012-10-18 22:35:35 | 显示全部楼层 |阅读模式

我用下面的程序拿 u16 Line_buf[240];来当做buffer写文件:
 res=f_mount(0, &fatfs);
   while(res)printf("SD mount failed!\n");
   res=f_open(&fileW,"0:/output/ph1.bmp",FA_WRITE|FA_OPEN_ALWAYS);//创建并打开  
   while(res)printf("file create failed!\n");

   WriteHeader(&fileW);
   WriteBMPInfo(&fileW);
   led0=0;                
     FIFO_RRST_CLR;  //读复位
   FIFO_RCK_CLR;
   FIFO_RCK_SET;
   FIFO_RCK_CLR;
   FIFO_RRST_SET;
   FIFO_RCK_SET;

 for(i=0;i<320;i++)
 {
  for(j=0;j<240;j++)
  {
   FIFO_RCK_CLR;  
   data=GPIOB->IDR &0x00ff; 
   FIFO_RCK_SET;
   data<<=8;
   FIFO_RCK_CLR;
   data|=GPIOB->IDR&0x00ff; 
   FIFO_RCK_SET;
   Line_buf[j]=BGR565toRGB555(data);   
  }    
  printf("i=%d:",i);
  printf("size=%d,",sizeof(Line_buf));
  f_write(&fileW,Line_buf,sizeof(Line_buf),&WRBytes);  
  printf("written=%d;",WRBytes);
 } 

结果输出信息:
i=266:size=480,written=480;i=267:size=480,written=480;i=268:size=480,written=480;i=269:size=480,written=480;i=270:size=480,written=394;i=271:size=480,written=0;i=272:size=480,written=0;i=273:size=480,written=0;i=274:size=480,written=0;i=275:size=480,written=0;i=276:size=480,written=0;i=277:size=480,written=0;i=278:size=480,written=0;i=279:size=480,written=0;i=280:size=480,written=0;i=281:size=480,written=0;i=282:size=480,written=0;i=283:size=480,written=0;i=284:size=480,written=0;i=285:size=480,written=0;i=286:size=480,written=0;i=287:size=480,written=0;i=288:size=480,written=0;i=289:size=480,written=0;i=290:size=480,written=0;i=291:size=480,written=0;i=292:size=480,written=0;i=293:size=480,written=0;i=294:size=480,written=0;i=295:size=480,written=0;i=296:size=480,written=0;i=297:size=480,written=0;i=298:size=480,written=0;i=299:size=480,written=0;i=300:size=480,written=0;i=301:size=480,written=0;i=302:size=480,written=0;i=303:size=480,written=0;i=304:size=480,written=0;i=305:size=480,written=0;i=306:size=480,written=0;i=307:size=480,written=0;i=308:size=480,written=0;i=309:size=480,written=0;i=310:size=480,written=0;i=311:size=480,written=0;i=312:size=480,written=0;i=313:size=480,written=0;i=314:size=480,written=0;i=315:size=480,written=0;i=316:size=480,written=0;i=317:size=480,written=0;i=318:size=480,written=0;i=319:size=480,written=0;
前面的写入与size是相等的,都为480,但是在i=270之后就出现问题了,以后都会写入0个字节,请问这是怎么回事?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-10-19 00:35:00 | 显示全部楼层
这问题比较怪,每次都是这样?
你换过个卡试试.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2012-9-23
在线时间
1 小时
 楼主| 发表于 2012-10-19 22:19:11 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
很奇怪,我多写了几次,貌似有一定几率会出现写不全的情况,但还好,有写全的时候。
感谢原子哥的解答。
但我从ov7670上读到的彩条测试还是好像有错位现象……太无语了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 11:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表