OpenEdv-开源电子网

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

求助移植问题

[复制链接]

23

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2012-3-15
在线时间
13 小时
发表于 2012-3-19 16:26:42 | 显示全部楼层 |阅读模式

借鉴原子的程序进行FATFS移植,出现了一个错误实在是找不到原因所在,还肯定大家帮帮忙,不胜感激。。
/* Write Sector(s)                                                       */

#if _READONLY == 0
DRESULT disk_write (
 BYTE drv,   /* Physical drive nmuber (0..) */
 const BYTE *buff, /* Data to be written */
 DWORD sector,  /* Sector address (LBA) */
 BYTE count   /* Number of sectors to write (1..255) */
)
{
 u8 res;

    res = SD_WriteDisk(buff, sector, count);
 
    // 返回值转换
    if(res == 0)
    {
        return RES_OK;
    }
    else
    {
        return RES_ERROR;
    }
}
#endif /* _READONLY */


..\FAT\src\diskio.c(86): error:  #167: argument of type "const BYTE *" is incompatible with parameter of type "u8 *"
程序编译报错,还没找到是什么原因引起的

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

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2196
金钱
2196
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-3-19 16:31:45 | 显示全部楼层
const BYTE *buff, /* Data to be written */
去掉const
https://github.com/roxma
回复 支持 反对

使用道具 举报

23

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2012-3-15
在线时间
13 小时
 楼主| 发表于 2012-3-19 16:55:28 | 显示全部楼层

回复【2楼】 Pony279 :

---------------------------------
去掉了const,diskio.h里面DRESULT disk_write (BYTE, BYTE *, DWORD, BYTE);也去掉了const,编译一下,还有问题
   sect = clust2sect(fp->fs, fp->clust); /* Get current sector */
   if (!sect) ABORT(fp->fs, FR_INT_ERR);
   sect += csect;
   cc = btw / SS(fp->fs);   /* When remaining bytes >= sector size, */
   if (cc) {      /* Write maximum contiguous sectors directly */
    if (csect + cc > fp->fs->csize) /* Clip at cluster boundary */
     cc = fp->fs->csize - csect;
    if (disk_write(fp->fs->drv, wbuff, sect, (BYTE)cc) != RES_OK)
     ABORT(fp->fs, FR_DISK_ERR);
错误行为红色下面是出错信息,闹不清楚。。
..\FAT\src\ff.c(2530): error:  #167: argument of type "const BYTE *" is incompatible with parameter of type "BYTE *"

回复 支持 反对

使用道具 举报

20

主题

562

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
670
金钱
670
注册时间
2012-2-28
在线时间
0 小时
发表于 2012-3-19 17:01:25 | 显示全部楼层
找一个翻译软件翻译一下吧,呵呵
努力,前进。
回复 支持 反对

使用道具 举报

23

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2012-3-15
在线时间
13 小时
 楼主| 发表于 2012-3-19 17:13:59 | 显示全部楼层
还是不行
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2196
金钱
2196
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-3-19 17:19:48 | 显示全部楼层
你需要自己思考思考了,
为什么const BYTE*指针
不能随便转为BYTE*
https://github.com/roxma
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-3-19 18:11:08 | 显示全部楼层
强制转换一下就好了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

23

主题

74

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2012-3-15
在线时间
13 小时
 楼主| 发表于 2012-3-20 09:49:13 | 显示全部楼层

还是没有明白问题出在哪,都是直接移植的 ,也没改变什么
..\FAT\src\diskio.c(78): error:  #167: argument of type "const BYTE *" is incompatible with parameter of type "u8 *"
DRESULT disk_write (
 BYTE drv,   /* Physical drive nmuber (0..) */
 const BYTE *buff, /* Data to be written */
 DWORD sector,  /* Sector address (LBA) */
 BYTE count   /* Number of sectors to write (1..255) */
)
{
 u8 res;

    // 读写操作
 
    res = SD_WriteDisk(buff, sector, count);

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-3-20 11:01:58 | 显示全部楼层
强制转换都不懂...
好好看C语言的书先.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2012-3-21 07:49:10 | 显示全部楼层
晕,这问题很简单呢,你在报错的前面加括号转换变量类型就得。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 03:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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