OpenEdv-开源电子网

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

SD卡连续读写多个扇区,数据出现错误。

[复制链接]

7

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2014-10-22
在线时间
1 小时
发表于 2015-3-6 23:24:35 | 显示全部楼层 |阅读模式
5金钱
无文件系统的SD卡的读写操作,读写多个扇区时,会出现数据错误,请各位指教。不胜感激。。。。

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-7 23:07:25 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

7

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2014-10-22
在线时间
1 小时
 楼主| 发表于 2015-3-8 12:04:59 | 显示全部楼层
每个扇区的数据通过串口打印出来,只显示前一半的数据,后一半的数据全部是0. 扇区打印结果如下:

回复

使用道具 举报

7

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2014-10-22
在线时间
1 小时
 楼主| 发表于 2015-3-8 12:53:03 | 显示全部楼层
[mw_shl_code=c,true]我是通过adc采样之后保存到SD卡中的,Filter()函数是采样函数。[/mw_shl_code] [mw_shl_code=c,true]void Filter(void) { int i,sum = 0; float temp0,temp1; u16 count; for(i=0;i<M;i++) { for ( count=0;count<N;count++) { sum += ADCConvertedValue[count]; } After_filter=sum/N; sum=0; } temp0=After_filter[0]*3.3/4096; temp1=After_filter[1]*3.3/4096; for(i=0;i<511;)// { writebuf=temp0; writebuf[i+1]=temp1; i=i+2; if(i==510)// { // sp=2; SD_WriteDisk((u8*)writebuf,write_flag,1); // write++; write_flag=write_flag+1; } } } [/mw_shl_code] [mw_shl_code=c,true] [/mw_shl_code] [mw_shl_code=c,true]Senddata()函数是读取SD卡扇区的函数
[mw_shl_code=c,true]void SendData(void) { int i,j; for(i=write_flag;i>0;i--)[/mw_shl_code] [mw_shl_code=c,true] { SD_ReadDisk((u8*)readbuf,0,1); printf("SECTOR %d DATA:\n",i); for(j=0;j<512;j++) { printf("%.2f ",readbuf[j]);//?ò??MBR???????? [/mw_shl_code] [mw_shl_code=c,true] } printf("\nDATA ENDED\n"); } } [/mw_shl_code]

[/mw_shl_code]

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-8 22:34:34 | 显示全部楼层
先验证底层函数的正确性.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

7

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2014-10-22
在线时间
1 小时
 楼主| 发表于 2015-3-10 14:19:13 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
有关与SD卡的底层函数我使用的是咱们网站上下载的SD卡的读写实验。底层函数没有任何改动,直接使用的。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-10 22:42:32 | 显示全部楼层
回复【6楼】laopei008:
---------------------------------
这个我们例程测试,效果良好.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

7

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2014-10-22
在线时间
1 小时
 楼主| 发表于 2015-3-11 10:06:44 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
原子大哥,你们测试的时候,使用的SD卡还是TF卡,对内存的大小有要求吗?我用的是4G和8G的TF卡都出现这中错误。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-11 23:03:32 | 显示全部楼层
回复【8楼】laopei008:
---------------------------------
没有多少要求的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-25 07:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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