OpenEdv-开源电子网

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

Fatfs写SD卡丢失数据,数据波形不连续

[复制链接]

12

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2017-11-5
在线时间
31 小时
发表于 2020-6-22 15:29:19 | 显示全部楼层 |阅读模式
1金钱
原子哥,开源电子网的各位大神,最近我在用FATFS写SD卡,将ADC的数据写入SD卡,
ADC是24bit的,采样率10KSPS,8个通道,采集信号源输出的正弦波,将存储的数据还原时发现波形不连续,即有丢失点的现象。
SD卡一次性写入65536个字节,采用的DMA模式。
u8 SD_WriteDisk(u8*buf,u32 sector,u8 cnt)
{
        u8 sta=SD_OK;
        u8 n;
        long long lsector=sector;
        lsector<<=9;
        if((u32)buf%4!=0)
        {
                 for(n=0;n<cnt;n++)
                {
                        memcpy(SDIO_DATA_BUFFER,buf,512);
                         sta=SD_WriteBlock(SDIO_DATA_BUFFER,lsector+512*n,512);//单个sector的写操作
                        buf+=512;
                }
        }else
        {
                if(cnt==1)sta=SD_WriteBlock(buf,lsector,512);            //单个sector的写操作
                else sta=SD_WriteMultiBlocks(buf,lsector,512,cnt);        //多个sector  
        }
        return sta;
}

对原子哥的这段代码有点疑惑,就是对那个buf,就是一个地址,为啥要对4求余啊???

最佳答案

查看完整内容[请看2#楼]

参考下这个:http://www.openedv.com/forum.php?mod=viewthread&tid=281812
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3627
金钱
3627
注册时间
2019-8-14
在线时间
1054 小时
发表于 2020-6-22 15:29:20 | 显示全部楼层
回复

使用道具 举报

12

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2017-11-5
在线时间
31 小时
 楼主| 发表于 2020-6-22 15:33:02 | 显示全部楼层
还有那个扇区地址为什么要左移9位呢?//lsector<<=9
回复

使用道具 举报

12

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2017-11-5
在线时间
31 小时
 楼主| 发表于 2020-6-22 16:23:07 | 显示全部楼层
hou18 发表于 2020-6-22 16:06
参考下这个:http://www.openedv.com/forum.php?mod=viewthread&tid=281812

好的,谢谢你
回复

使用道具 举报

12

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
158
金钱
158
注册时间
2017-11-5
在线时间
31 小时
 楼主| 发表于 2020-6-23 16:40:55 | 显示全部楼层
顶~~~~
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-29 10:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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