OpenEdv-开源电子网

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

SD卡实验问题

[复制链接]

19

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2017-8-2
在线时间
46 小时
发表于 2017-8-3 21:48:11 | 显示全部楼层 |阅读模式
5金钱
SD卡试验中,我想更改u8 SD_WriteDisk(u8*buf,u32 sector,u32 cnt)的  *buf为u16  为什么就不可以要报错:
..\HARDWARE\SDIO\sdio_sdcard.c(1083): error:  #167: argument of type "u8 *" is incompatible with parameter of type "u16 *"
                        sta=SD_WriteBlocks(SDIO_DATA_BUFFER,lsector+512*n,512,1);//单sector写
麻烦解答下哦,万分感谢。我新手一枚

最佳答案

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

加强制转换就可以了,没什么难度。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2017-8-3 21:48:12 | 显示全部楼层
加强制转换就可以了,没什么难度。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

19

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2017-8-2
在线时间
46 小时
 楼主| 发表于 2017-8-3 21:49:24 | 显示全部楼层
SD_WriteDisk中用到的 SD_Error SD_WriteBlocks(u8 *buf,long long addr,u16 blksize,u32 nblks) 里面的buf已经改为u16了,另外.h文件也更改为u16了。
回复

使用道具 举报

19

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2017-8-2
在线时间
46 小时
 楼主| 发表于 2017-8-3 21:59:20 | 显示全部楼层
..\OBJ\TEST.axf: Error: L6002U: Could not open file ..\OBJ\TEST.htm: Permission denied
这个是什么错啊
回复

使用道具 举报

19

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2017-8-2
在线时间
46 小时
 楼主| 发表于 2017-8-3 21:59:54 | 显示全部楼层
__align(4) u16 SDIO_DATA_BUFFER[512];   原来为u8的改为u16了
回复

使用道具 举报

43

主题

481

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1352
金钱
1352
注册时间
2014-12-24
在线时间
321 小时
发表于 2017-8-3 22:56:16 | 显示全部楼层
这个不可以改!
回复

使用道具 举报

19

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2017-8-2
在线时间
46 小时
 楼主| 发表于 2017-8-4 08:11:00 | 显示全部楼层
jinggx 发表于 2017-8-3 22:56
这个不可以改!

现在的问题是,我通过AD采样回来的数据是12位,如果我直接存到SD中,用SD_WriteDisk函数,然后再用SD_ReadDisk函数读出到串口显示,结果就是不正确,如果我直接用串口显示就是对的,到SD里面存了后拿出来就不对了,那怎么办
回复

使用道具 举报

19

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2017-8-2
在线时间
46 小时
 楼主| 发表于 2017-8-4 08:29:03 | 显示全部楼层
莫名其妙,今天来编译通过了,但是读出来的数据少了一半,只有256个数据正确,后面256个数据全部为0 ???
回复

使用道具 举报

19

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2017-8-2
在线时间
46 小时
 楼主| 发表于 2017-9-5 20:09:39 | 显示全部楼层
jinggx 发表于 2017-8-3 22:56
这个不可以改!

如果不改有没有什么好办法,让我采样AD储存呢
回复

使用道具 举报

19

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2017-8-2
在线时间
46 小时
 楼主| 发表于 2017-9-5 20:10:51 | 显示全部楼层
我通过AD采样回来的数据是12位,如果我直接存到SD中,用SD_WriteDisk函数,然后再用SD_ReadDisk函数读出到串口显示,结果就是不正确,如果我直接用串口显示就是对的,到SD里面存了后拿出来就不对了,那怎么办
回复

使用道具 举报

19

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2017-8-2
在线时间
46 小时
 楼主| 发表于 2017-9-6 09:06:06 | 显示全部楼层
正点原子 发表于 2017-8-3 21:48
加强制转换就可以了,没什么难度。

哦,谢谢。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-18 08:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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